mirror of
https://github.com/LukeHagar/Coolify-TypeScript-SDK.git
synced 2025-12-06 04:19:26 +00:00
5505 lines
182 KiB
YAML
5505 lines
182 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Coolify
|
|
version: "0.1"
|
|
servers:
|
|
- url: "https://app.coolify.io/api/v1"
|
|
description: "Coolify Cloud API. Change the host to your own instance if you are self-hosting."
|
|
paths:
|
|
/applications:
|
|
get:
|
|
tags:
|
|
- Applications
|
|
summary: List
|
|
description: "List all applications."
|
|
operationId: list-applications
|
|
responses:
|
|
"200":
|
|
description: "Get all applications."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Application"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/applications/public:
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Create (Public)"
|
|
description: "Create new application based on a public git repository."
|
|
operationId: create-public-application
|
|
requestBody:
|
|
description: "Application object that needs to be created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- project_uuid
|
|
- server_uuid
|
|
- environment_name
|
|
- git_repository
|
|
- git_branch
|
|
- build_pack
|
|
- ports_exposes
|
|
properties:
|
|
project_uuid:
|
|
type: string
|
|
description: "The project UUID."
|
|
server_uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "The environment name."
|
|
git_repository:
|
|
type: string
|
|
description: "The git repository URL."
|
|
git_branch:
|
|
type: string
|
|
description: "The git branch."
|
|
build_pack:
|
|
type: string
|
|
enum: [nixpacks, static, dockerfile, dockercompose]
|
|
description: "The build pack type."
|
|
ports_exposes:
|
|
type: string
|
|
description: "The ports to expose."
|
|
destination_uuid:
|
|
type: string
|
|
description: "The destination UUID."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
description:
|
|
type: string
|
|
description: "The application description."
|
|
domains:
|
|
type: string
|
|
description: "The application domains."
|
|
git_commit_sha:
|
|
type: string
|
|
description: "The git commit SHA."
|
|
docker_registry_image_name:
|
|
type: string
|
|
description: "The docker registry image name."
|
|
docker_registry_image_tag:
|
|
type: string
|
|
description: "The docker registry image tag."
|
|
is_static:
|
|
type: boolean
|
|
description: "The flag to indicate if the application is static."
|
|
static_image:
|
|
type: string
|
|
enum: ["nginx:alpine"]
|
|
description: "The static image."
|
|
install_command:
|
|
type: string
|
|
description: "The install command."
|
|
build_command:
|
|
type: string
|
|
description: "The build command."
|
|
start_command:
|
|
type: string
|
|
description: "The start command."
|
|
ports_mappings:
|
|
type: string
|
|
description: "The ports mappings."
|
|
base_directory:
|
|
type: string
|
|
description: "The base directory for all commands."
|
|
publish_directory:
|
|
type: string
|
|
description: "The publish directory."
|
|
health_check_enabled:
|
|
type: boolean
|
|
description: "Health check enabled."
|
|
health_check_path:
|
|
type: string
|
|
description: "Health check path."
|
|
health_check_port:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check port."
|
|
health_check_host:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check host."
|
|
health_check_method:
|
|
type: string
|
|
description: "Health check method."
|
|
health_check_return_code:
|
|
type: integer
|
|
description: "Health check return code."
|
|
health_check_scheme:
|
|
type: string
|
|
description: "Health check scheme."
|
|
health_check_response_text:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check response text."
|
|
health_check_interval:
|
|
type: integer
|
|
description: "Health check interval in seconds."
|
|
health_check_timeout:
|
|
type: integer
|
|
description: "Health check timeout in seconds."
|
|
health_check_retries:
|
|
type: integer
|
|
description: "Health check retries count."
|
|
health_check_start_period:
|
|
type: integer
|
|
description: "Health check start period in seconds."
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit."
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit."
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness."
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation."
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit."
|
|
limits_cpuset:
|
|
type: string
|
|
nullable: true
|
|
description: "CPU set."
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares."
|
|
custom_labels:
|
|
type: string
|
|
description: "Custom labels."
|
|
custom_docker_run_options:
|
|
type: string
|
|
description: "Custom docker run options."
|
|
post_deployment_command:
|
|
type: string
|
|
description: "Post deployment command."
|
|
post_deployment_command_container:
|
|
type: string
|
|
description: "Post deployment command container."
|
|
pre_deployment_command:
|
|
type: string
|
|
description: "Pre deployment command."
|
|
pre_deployment_command_container:
|
|
type: string
|
|
description: "Pre deployment command container."
|
|
manual_webhook_secret_github:
|
|
type: string
|
|
description: "Manual webhook secret for Github."
|
|
manual_webhook_secret_gitlab:
|
|
type: string
|
|
description: "Manual webhook secret for Gitlab."
|
|
manual_webhook_secret_bitbucket:
|
|
type: string
|
|
description: "Manual webhook secret for Bitbucket."
|
|
manual_webhook_secret_gitea:
|
|
type: string
|
|
description: "Manual webhook secret for Gitea."
|
|
redirect:
|
|
type: string
|
|
nullable: true
|
|
description: "How to set redirect with Traefik / Caddy. www<->non-www."
|
|
enum: [www, non-www, both]
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "The flag to indicate if the application should be deployed instantly."
|
|
dockerfile:
|
|
type: string
|
|
description: "The Dockerfile content."
|
|
docker_compose_location:
|
|
type: string
|
|
description: "The Docker Compose location."
|
|
docker_compose_raw:
|
|
type: string
|
|
description: "The Docker Compose raw content."
|
|
docker_compose_custom_start_command:
|
|
type: string
|
|
description: "The Docker Compose custom start command."
|
|
docker_compose_custom_build_command:
|
|
type: string
|
|
description: "The Docker Compose custom build command."
|
|
docker_compose_domains:
|
|
type: array
|
|
description: "The Docker Compose domains."
|
|
watch_paths:
|
|
type: string
|
|
description: "The watch paths."
|
|
use_build_server:
|
|
type: boolean
|
|
nullable: true
|
|
description: "Use build server."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Application created successfully."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/applications/private-github-app:
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Create (Private - GH App)"
|
|
description: "Create new application based on a private repository through a Github App."
|
|
operationId: create-private-github-app-application
|
|
requestBody:
|
|
description: "Application object that needs to be created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- project_uuid
|
|
- server_uuid
|
|
- environment_name
|
|
- github_app_uuid
|
|
- git_repository
|
|
- git_branch
|
|
- build_pack
|
|
- ports_exposes
|
|
properties:
|
|
project_uuid:
|
|
type: string
|
|
description: "The project UUID."
|
|
server_uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "The environment name."
|
|
github_app_uuid:
|
|
type: string
|
|
description: "The Github App UUID."
|
|
git_repository:
|
|
type: string
|
|
description: "The git repository URL."
|
|
git_branch:
|
|
type: string
|
|
description: "The git branch."
|
|
ports_exposes:
|
|
type: string
|
|
description: "The ports to expose."
|
|
destination_uuid:
|
|
type: string
|
|
description: "The destination UUID."
|
|
build_pack:
|
|
type: string
|
|
enum: [nixpacks, static, dockerfile, dockercompose]
|
|
description: "The build pack type."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
description:
|
|
type: string
|
|
description: "The application description."
|
|
domains:
|
|
type: string
|
|
description: "The application domains."
|
|
git_commit_sha:
|
|
type: string
|
|
description: "The git commit SHA."
|
|
docker_registry_image_name:
|
|
type: string
|
|
description: "The docker registry image name."
|
|
docker_registry_image_tag:
|
|
type: string
|
|
description: "The docker registry image tag."
|
|
is_static:
|
|
type: boolean
|
|
description: "The flag to indicate if the application is static."
|
|
static_image:
|
|
type: string
|
|
enum: ["nginx:alpine"]
|
|
description: "The static image."
|
|
install_command:
|
|
type: string
|
|
description: "The install command."
|
|
build_command:
|
|
type: string
|
|
description: "The build command."
|
|
start_command:
|
|
type: string
|
|
description: "The start command."
|
|
ports_mappings:
|
|
type: string
|
|
description: "The ports mappings."
|
|
base_directory:
|
|
type: string
|
|
description: "The base directory for all commands."
|
|
publish_directory:
|
|
type: string
|
|
description: "The publish directory."
|
|
health_check_enabled:
|
|
type: boolean
|
|
description: "Health check enabled."
|
|
health_check_path:
|
|
type: string
|
|
description: "Health check path."
|
|
health_check_port:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check port."
|
|
health_check_host:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check host."
|
|
health_check_method:
|
|
type: string
|
|
description: "Health check method."
|
|
health_check_return_code:
|
|
type: integer
|
|
description: "Health check return code."
|
|
health_check_scheme:
|
|
type: string
|
|
description: "Health check scheme."
|
|
health_check_response_text:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check response text."
|
|
health_check_interval:
|
|
type: integer
|
|
description: "Health check interval in seconds."
|
|
health_check_timeout:
|
|
type: integer
|
|
description: "Health check timeout in seconds."
|
|
health_check_retries:
|
|
type: integer
|
|
description: "Health check retries count."
|
|
health_check_start_period:
|
|
type: integer
|
|
description: "Health check start period in seconds."
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit."
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit."
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness."
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation."
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit."
|
|
limits_cpuset:
|
|
type: string
|
|
nullable: true
|
|
description: "CPU set."
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares."
|
|
custom_labels:
|
|
type: string
|
|
description: "Custom labels."
|
|
custom_docker_run_options:
|
|
type: string
|
|
description: "Custom docker run options."
|
|
post_deployment_command:
|
|
type: string
|
|
description: "Post deployment command."
|
|
post_deployment_command_container:
|
|
type: string
|
|
description: "Post deployment command container."
|
|
pre_deployment_command:
|
|
type: string
|
|
description: "Pre deployment command."
|
|
pre_deployment_command_container:
|
|
type: string
|
|
description: "Pre deployment command container."
|
|
manual_webhook_secret_github:
|
|
type: string
|
|
description: "Manual webhook secret for Github."
|
|
manual_webhook_secret_gitlab:
|
|
type: string
|
|
description: "Manual webhook secret for Gitlab."
|
|
manual_webhook_secret_bitbucket:
|
|
type: string
|
|
description: "Manual webhook secret for Bitbucket."
|
|
manual_webhook_secret_gitea:
|
|
type: string
|
|
description: "Manual webhook secret for Gitea."
|
|
redirect:
|
|
type: string
|
|
nullable: true
|
|
description: "How to set redirect with Traefik / Caddy. www<->non-www."
|
|
enum: [www, non-www, both]
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "The flag to indicate if the application should be deployed instantly."
|
|
dockerfile:
|
|
type: string
|
|
description: "The Dockerfile content."
|
|
docker_compose_location:
|
|
type: string
|
|
description: "The Docker Compose location."
|
|
docker_compose_raw:
|
|
type: string
|
|
description: "The Docker Compose raw content."
|
|
docker_compose_custom_start_command:
|
|
type: string
|
|
description: "The Docker Compose custom start command."
|
|
docker_compose_custom_build_command:
|
|
type: string
|
|
description: "The Docker Compose custom build command."
|
|
docker_compose_domains:
|
|
type: array
|
|
description: "The Docker Compose domains."
|
|
watch_paths:
|
|
type: string
|
|
description: "The watch paths."
|
|
use_build_server:
|
|
type: boolean
|
|
nullable: true
|
|
description: "Use build server."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Application created successfully."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/applications/private-deploy-key:
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Create (Private - Deploy Key)"
|
|
description: "Create new application based on a private repository through a Deploy Key."
|
|
operationId: create-private-deploy-key-application
|
|
requestBody:
|
|
description: "Application object that needs to be created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- project_uuid
|
|
- server_uuid
|
|
- environment_name
|
|
- private_key_uuid
|
|
- git_repository
|
|
- git_branch
|
|
- build_pack
|
|
- ports_exposes
|
|
properties:
|
|
project_uuid:
|
|
type: string
|
|
description: "The project UUID."
|
|
server_uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "The environment name."
|
|
private_key_uuid:
|
|
type: string
|
|
description: "The private key UUID."
|
|
git_repository:
|
|
type: string
|
|
description: "The git repository URL."
|
|
git_branch:
|
|
type: string
|
|
description: "The git branch."
|
|
ports_exposes:
|
|
type: string
|
|
description: "The ports to expose."
|
|
destination_uuid:
|
|
type: string
|
|
description: "The destination UUID."
|
|
build_pack:
|
|
type: string
|
|
enum: [nixpacks, static, dockerfile, dockercompose]
|
|
description: "The build pack type."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
description:
|
|
type: string
|
|
description: "The application description."
|
|
domains:
|
|
type: string
|
|
description: "The application domains."
|
|
git_commit_sha:
|
|
type: string
|
|
description: "The git commit SHA."
|
|
docker_registry_image_name:
|
|
type: string
|
|
description: "The docker registry image name."
|
|
docker_registry_image_tag:
|
|
type: string
|
|
description: "The docker registry image tag."
|
|
is_static:
|
|
type: boolean
|
|
description: "The flag to indicate if the application is static."
|
|
static_image:
|
|
type: string
|
|
enum: ["nginx:alpine"]
|
|
description: "The static image."
|
|
install_command:
|
|
type: string
|
|
description: "The install command."
|
|
build_command:
|
|
type: string
|
|
description: "The build command."
|
|
start_command:
|
|
type: string
|
|
description: "The start command."
|
|
ports_mappings:
|
|
type: string
|
|
description: "The ports mappings."
|
|
base_directory:
|
|
type: string
|
|
description: "The base directory for all commands."
|
|
publish_directory:
|
|
type: string
|
|
description: "The publish directory."
|
|
health_check_enabled:
|
|
type: boolean
|
|
description: "Health check enabled."
|
|
health_check_path:
|
|
type: string
|
|
description: "Health check path."
|
|
health_check_port:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check port."
|
|
health_check_host:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check host."
|
|
health_check_method:
|
|
type: string
|
|
description: "Health check method."
|
|
health_check_return_code:
|
|
type: integer
|
|
description: "Health check return code."
|
|
health_check_scheme:
|
|
type: string
|
|
description: "Health check scheme."
|
|
health_check_response_text:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check response text."
|
|
health_check_interval:
|
|
type: integer
|
|
description: "Health check interval in seconds."
|
|
health_check_timeout:
|
|
type: integer
|
|
description: "Health check timeout in seconds."
|
|
health_check_retries:
|
|
type: integer
|
|
description: "Health check retries count."
|
|
health_check_start_period:
|
|
type: integer
|
|
description: "Health check start period in seconds."
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit."
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit."
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness."
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation."
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit."
|
|
limits_cpuset:
|
|
type: string
|
|
nullable: true
|
|
description: "CPU set."
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares."
|
|
custom_labels:
|
|
type: string
|
|
description: "Custom labels."
|
|
custom_docker_run_options:
|
|
type: string
|
|
description: "Custom docker run options."
|
|
post_deployment_command:
|
|
type: string
|
|
description: "Post deployment command."
|
|
post_deployment_command_container:
|
|
type: string
|
|
description: "Post deployment command container."
|
|
pre_deployment_command:
|
|
type: string
|
|
description: "Pre deployment command."
|
|
pre_deployment_command_container:
|
|
type: string
|
|
description: "Pre deployment command container."
|
|
manual_webhook_secret_github:
|
|
type: string
|
|
description: "Manual webhook secret for Github."
|
|
manual_webhook_secret_gitlab:
|
|
type: string
|
|
description: "Manual webhook secret for Gitlab."
|
|
manual_webhook_secret_bitbucket:
|
|
type: string
|
|
description: "Manual webhook secret for Bitbucket."
|
|
manual_webhook_secret_gitea:
|
|
type: string
|
|
description: "Manual webhook secret for Gitea."
|
|
redirect:
|
|
type: string
|
|
nullable: true
|
|
description: "How to set redirect with Traefik / Caddy. www<->non-www."
|
|
enum: [www, non-www, both]
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "The flag to indicate if the application should be deployed instantly."
|
|
dockerfile:
|
|
type: string
|
|
description: "The Dockerfile content."
|
|
docker_compose_location:
|
|
type: string
|
|
description: "The Docker Compose location."
|
|
docker_compose_raw:
|
|
type: string
|
|
description: "The Docker Compose raw content."
|
|
docker_compose_custom_start_command:
|
|
type: string
|
|
description: "The Docker Compose custom start command."
|
|
docker_compose_custom_build_command:
|
|
type: string
|
|
description: "The Docker Compose custom build command."
|
|
docker_compose_domains:
|
|
type: array
|
|
description: "The Docker Compose domains."
|
|
watch_paths:
|
|
type: string
|
|
description: "The watch paths."
|
|
use_build_server:
|
|
type: boolean
|
|
nullable: true
|
|
description: "Use build server."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Application created successfully."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/applications/dockerfile:
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Create (Dockerfile)"
|
|
description: "Create new application based on a simple Dockerfile."
|
|
operationId: create-dockerfile-application
|
|
requestBody:
|
|
description: "Application object that needs to be created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- project_uuid
|
|
- server_uuid
|
|
- environment_name
|
|
- dockerfile
|
|
properties:
|
|
project_uuid:
|
|
type: string
|
|
description: "The project UUID."
|
|
server_uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "The environment name."
|
|
dockerfile:
|
|
type: string
|
|
description: "The Dockerfile content."
|
|
build_pack:
|
|
type: string
|
|
enum: [nixpacks, static, dockerfile, dockercompose]
|
|
description: "The build pack type."
|
|
ports_exposes:
|
|
type: string
|
|
description: "The ports to expose."
|
|
destination_uuid:
|
|
type: string
|
|
description: "The destination UUID."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
description:
|
|
type: string
|
|
description: "The application description."
|
|
domains:
|
|
type: string
|
|
description: "The application domains."
|
|
docker_registry_image_name:
|
|
type: string
|
|
description: "The docker registry image name."
|
|
docker_registry_image_tag:
|
|
type: string
|
|
description: "The docker registry image tag."
|
|
ports_mappings:
|
|
type: string
|
|
description: "The ports mappings."
|
|
base_directory:
|
|
type: string
|
|
description: "The base directory for all commands."
|
|
health_check_enabled:
|
|
type: boolean
|
|
description: "Health check enabled."
|
|
health_check_path:
|
|
type: string
|
|
description: "Health check path."
|
|
health_check_port:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check port."
|
|
health_check_host:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check host."
|
|
health_check_method:
|
|
type: string
|
|
description: "Health check method."
|
|
health_check_return_code:
|
|
type: integer
|
|
description: "Health check return code."
|
|
health_check_scheme:
|
|
type: string
|
|
description: "Health check scheme."
|
|
health_check_response_text:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check response text."
|
|
health_check_interval:
|
|
type: integer
|
|
description: "Health check interval in seconds."
|
|
health_check_timeout:
|
|
type: integer
|
|
description: "Health check timeout in seconds."
|
|
health_check_retries:
|
|
type: integer
|
|
description: "Health check retries count."
|
|
health_check_start_period:
|
|
type: integer
|
|
description: "Health check start period in seconds."
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit."
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit."
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness."
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation."
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit."
|
|
limits_cpuset:
|
|
type: string
|
|
nullable: true
|
|
description: "CPU set."
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares."
|
|
custom_labels:
|
|
type: string
|
|
description: "Custom labels."
|
|
custom_docker_run_options:
|
|
type: string
|
|
description: "Custom docker run options."
|
|
post_deployment_command:
|
|
type: string
|
|
description: "Post deployment command."
|
|
post_deployment_command_container:
|
|
type: string
|
|
description: "Post deployment command container."
|
|
pre_deployment_command:
|
|
type: string
|
|
description: "Pre deployment command."
|
|
pre_deployment_command_container:
|
|
type: string
|
|
description: "Pre deployment command container."
|
|
manual_webhook_secret_github:
|
|
type: string
|
|
description: "Manual webhook secret for Github."
|
|
manual_webhook_secret_gitlab:
|
|
type: string
|
|
description: "Manual webhook secret for Gitlab."
|
|
manual_webhook_secret_bitbucket:
|
|
type: string
|
|
description: "Manual webhook secret for Bitbucket."
|
|
manual_webhook_secret_gitea:
|
|
type: string
|
|
description: "Manual webhook secret for Gitea."
|
|
redirect:
|
|
type: string
|
|
nullable: true
|
|
description: "How to set redirect with Traefik / Caddy. www<->non-www."
|
|
enum: [www, non-www, both]
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "The flag to indicate if the application should be deployed instantly."
|
|
use_build_server:
|
|
type: boolean
|
|
nullable: true
|
|
description: "Use build server."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Application created successfully."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/applications/dockerimage:
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Create (Docker Image)"
|
|
description: "Create new application based on a prebuilt docker image"
|
|
operationId: create-dockerimage-application
|
|
requestBody:
|
|
description: "Application object that needs to be created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- project_uuid
|
|
- server_uuid
|
|
- environment_name
|
|
- docker_registry_image_name
|
|
- ports_exposes
|
|
properties:
|
|
project_uuid:
|
|
type: string
|
|
description: "The project UUID."
|
|
server_uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "The environment name."
|
|
docker_registry_image_name:
|
|
type: string
|
|
description: "The docker registry image name."
|
|
docker_registry_image_tag:
|
|
type: string
|
|
description: "The docker registry image tag."
|
|
ports_exposes:
|
|
type: string
|
|
description: "The ports to expose."
|
|
destination_uuid:
|
|
type: string
|
|
description: "The destination UUID."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
description:
|
|
type: string
|
|
description: "The application description."
|
|
domains:
|
|
type: string
|
|
description: "The application domains."
|
|
ports_mappings:
|
|
type: string
|
|
description: "The ports mappings."
|
|
health_check_enabled:
|
|
type: boolean
|
|
description: "Health check enabled."
|
|
health_check_path:
|
|
type: string
|
|
description: "Health check path."
|
|
health_check_port:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check port."
|
|
health_check_host:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check host."
|
|
health_check_method:
|
|
type: string
|
|
description: "Health check method."
|
|
health_check_return_code:
|
|
type: integer
|
|
description: "Health check return code."
|
|
health_check_scheme:
|
|
type: string
|
|
description: "Health check scheme."
|
|
health_check_response_text:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check response text."
|
|
health_check_interval:
|
|
type: integer
|
|
description: "Health check interval in seconds."
|
|
health_check_timeout:
|
|
type: integer
|
|
description: "Health check timeout in seconds."
|
|
health_check_retries:
|
|
type: integer
|
|
description: "Health check retries count."
|
|
health_check_start_period:
|
|
type: integer
|
|
description: "Health check start period in seconds."
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit."
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit."
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness."
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation."
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit."
|
|
limits_cpuset:
|
|
type: string
|
|
nullable: true
|
|
description: "CPU set."
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares."
|
|
custom_labels:
|
|
type: string
|
|
description: "Custom labels."
|
|
custom_docker_run_options:
|
|
type: string
|
|
description: "Custom docker run options."
|
|
post_deployment_command:
|
|
type: string
|
|
description: "Post deployment command."
|
|
post_deployment_command_container:
|
|
type: string
|
|
description: "Post deployment command container."
|
|
pre_deployment_command:
|
|
type: string
|
|
description: "Pre deployment command."
|
|
pre_deployment_command_container:
|
|
type: string
|
|
description: "Pre deployment command container."
|
|
manual_webhook_secret_github:
|
|
type: string
|
|
description: "Manual webhook secret for Github."
|
|
manual_webhook_secret_gitlab:
|
|
type: string
|
|
description: "Manual webhook secret for Gitlab."
|
|
manual_webhook_secret_bitbucket:
|
|
type: string
|
|
description: "Manual webhook secret for Bitbucket."
|
|
manual_webhook_secret_gitea:
|
|
type: string
|
|
description: "Manual webhook secret for Gitea."
|
|
redirect:
|
|
type: string
|
|
nullable: true
|
|
description: "How to set redirect with Traefik / Caddy. www<->non-www."
|
|
enum: [www, non-www, both]
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "The flag to indicate if the application should be deployed instantly."
|
|
use_build_server:
|
|
type: boolean
|
|
nullable: true
|
|
description: "Use build server."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Application created successfully."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/applications/dockercompose:
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Create (Docker Compose)"
|
|
description: "Create new application based on a docker-compose file."
|
|
operationId: create-dockercompose-application
|
|
requestBody:
|
|
description: "Application object that needs to be created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- project_uuid
|
|
- server_uuid
|
|
- environment_name
|
|
- docker_compose_raw
|
|
properties:
|
|
project_uuid:
|
|
type: string
|
|
description: "The project UUID."
|
|
server_uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "The environment name."
|
|
docker_compose_raw:
|
|
type: string
|
|
description: "The Docker Compose raw content."
|
|
destination_uuid:
|
|
type: string
|
|
description: "The destination UUID if the server has more than one destinations."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
description:
|
|
type: string
|
|
description: "The application description."
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "The flag to indicate if the application should be deployed instantly."
|
|
use_build_server:
|
|
type: boolean
|
|
nullable: true
|
|
description: "Use build server."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Application created successfully."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}":
|
|
get:
|
|
tags:
|
|
- Applications
|
|
summary: Get
|
|
description: "Get application by UUID."
|
|
operationId: get-application-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Get application by UUID."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Application"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
delete:
|
|
tags:
|
|
- Applications
|
|
summary: Delete
|
|
description: "Delete application by UUID."
|
|
operationId: delete-application-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: delete_configurations
|
|
in: query
|
|
description: "Delete configurations."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: delete_volumes
|
|
in: query
|
|
description: "Delete volumes."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: docker_cleanup
|
|
in: query
|
|
description: "Run docker cleanup."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: delete_connected_networks
|
|
in: query
|
|
description: "Delete connected networks."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
responses:
|
|
"200":
|
|
description: "Application deleted."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Application deleted." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
patch:
|
|
tags:
|
|
- Applications
|
|
summary: Update
|
|
description: "Update application by UUID."
|
|
operationId: update-application-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Application updated."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
project_uuid:
|
|
type: string
|
|
description: "The project UUID."
|
|
server_uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "The environment name."
|
|
github_app_uuid:
|
|
type: string
|
|
description: "The Github App UUID."
|
|
git_repository:
|
|
type: string
|
|
description: "The git repository URL."
|
|
git_branch:
|
|
type: string
|
|
description: "The git branch."
|
|
ports_exposes:
|
|
type: string
|
|
description: "The ports to expose."
|
|
destination_uuid:
|
|
type: string
|
|
description: "The destination UUID."
|
|
build_pack:
|
|
type: string
|
|
enum: [nixpacks, static, dockerfile, dockercompose]
|
|
description: "The build pack type."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
description:
|
|
type: string
|
|
description: "The application description."
|
|
domains:
|
|
type: string
|
|
description: "The application domains."
|
|
git_commit_sha:
|
|
type: string
|
|
description: "The git commit SHA."
|
|
docker_registry_image_name:
|
|
type: string
|
|
description: "The docker registry image name."
|
|
docker_registry_image_tag:
|
|
type: string
|
|
description: "The docker registry image tag."
|
|
is_static:
|
|
type: boolean
|
|
description: "The flag to indicate if the application is static."
|
|
install_command:
|
|
type: string
|
|
description: "The install command."
|
|
build_command:
|
|
type: string
|
|
description: "The build command."
|
|
start_command:
|
|
type: string
|
|
description: "The start command."
|
|
ports_mappings:
|
|
type: string
|
|
description: "The ports mappings."
|
|
base_directory:
|
|
type: string
|
|
description: "The base directory for all commands."
|
|
publish_directory:
|
|
type: string
|
|
description: "The publish directory."
|
|
health_check_enabled:
|
|
type: boolean
|
|
description: "Health check enabled."
|
|
health_check_path:
|
|
type: string
|
|
description: "Health check path."
|
|
health_check_port:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check port."
|
|
health_check_host:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check host."
|
|
health_check_method:
|
|
type: string
|
|
description: "Health check method."
|
|
health_check_return_code:
|
|
type: integer
|
|
description: "Health check return code."
|
|
health_check_scheme:
|
|
type: string
|
|
description: "Health check scheme."
|
|
health_check_response_text:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check response text."
|
|
health_check_interval:
|
|
type: integer
|
|
description: "Health check interval in seconds."
|
|
health_check_timeout:
|
|
type: integer
|
|
description: "Health check timeout in seconds."
|
|
health_check_retries:
|
|
type: integer
|
|
description: "Health check retries count."
|
|
health_check_start_period:
|
|
type: integer
|
|
description: "Health check start period in seconds."
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit."
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit."
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness."
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation."
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit."
|
|
limits_cpuset:
|
|
type: string
|
|
nullable: true
|
|
description: "CPU set."
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares."
|
|
custom_labels:
|
|
type: string
|
|
description: "Custom labels."
|
|
custom_docker_run_options:
|
|
type: string
|
|
description: "Custom docker run options."
|
|
post_deployment_command:
|
|
type: string
|
|
description: "Post deployment command."
|
|
post_deployment_command_container:
|
|
type: string
|
|
description: "Post deployment command container."
|
|
pre_deployment_command:
|
|
type: string
|
|
description: "Pre deployment command."
|
|
pre_deployment_command_container:
|
|
type: string
|
|
description: "Pre deployment command container."
|
|
manual_webhook_secret_github:
|
|
type: string
|
|
description: "Manual webhook secret for Github."
|
|
manual_webhook_secret_gitlab:
|
|
type: string
|
|
description: "Manual webhook secret for Gitlab."
|
|
manual_webhook_secret_bitbucket:
|
|
type: string
|
|
description: "Manual webhook secret for Bitbucket."
|
|
manual_webhook_secret_gitea:
|
|
type: string
|
|
description: "Manual webhook secret for Gitea."
|
|
redirect:
|
|
type: string
|
|
nullable: true
|
|
description: "How to set redirect with Traefik / Caddy. www<->non-www."
|
|
enum: [www, non-www, both]
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "The flag to indicate if the application should be deployed instantly."
|
|
dockerfile:
|
|
type: string
|
|
description: "The Dockerfile content."
|
|
docker_compose_location:
|
|
type: string
|
|
description: "The Docker Compose location."
|
|
docker_compose_raw:
|
|
type: string
|
|
description: "The Docker Compose raw content."
|
|
docker_compose_custom_start_command:
|
|
type: string
|
|
description: "The Docker Compose custom start command."
|
|
docker_compose_custom_build_command:
|
|
type: string
|
|
description: "The Docker Compose custom build command."
|
|
docker_compose_domains:
|
|
type: array
|
|
description: "The Docker Compose domains."
|
|
watch_paths:
|
|
type: string
|
|
description: "The watch paths."
|
|
use_build_server:
|
|
type: boolean
|
|
nullable: true
|
|
description: "Use build server."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Application updated."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid: { type: string }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}/envs":
|
|
get:
|
|
tags:
|
|
- Applications
|
|
summary: "List Envs"
|
|
description: "List all envs by application UUID."
|
|
operationId: list-envs-by-application-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "All environment variables by application UUID."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EnvironmentVariable"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Create Env"
|
|
description: "Create env by application UUID."
|
|
operationId: create-env-by-application-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Env created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: "The key of the environment variable."
|
|
value:
|
|
type: string
|
|
description: "The value of the environment variable."
|
|
is_preview:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in preview deployments."
|
|
is_build_time:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in build time."
|
|
is_literal:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is a literal, nothing espaced."
|
|
is_multiline:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is multiline."
|
|
is_shown_once:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable's value is shown on the UI."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Environment variable created."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid: { type: string, example: nc0k04gk8g0cgsk440g0koko }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
patch:
|
|
tags:
|
|
- Applications
|
|
summary: "Update Env"
|
|
description: "Update env by application UUID."
|
|
operationId: update-env-by-application-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Env updated."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- key
|
|
- value
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: "The key of the environment variable."
|
|
value:
|
|
type: string
|
|
description: "The value of the environment variable."
|
|
is_preview:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in preview deployments."
|
|
is_build_time:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in build time."
|
|
is_literal:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is a literal, nothing espaced."
|
|
is_multiline:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is multiline."
|
|
is_shown_once:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable's value is shown on the UI."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Environment variable updated."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{ type: string, example: "Environment variable updated." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}/envs/bulk":
|
|
patch:
|
|
tags:
|
|
- Applications
|
|
summary: "Update Envs (Bulk)"
|
|
description: "Update multiple envs by application UUID."
|
|
operationId: update-envs-by-application-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Bulk envs updated."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- data
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
{
|
|
properties:
|
|
{
|
|
key:
|
|
{
|
|
type: string,
|
|
description: "The key of the environment variable.",
|
|
},
|
|
value:
|
|
{
|
|
type: string,
|
|
description: "The value of the environment variable.",
|
|
},
|
|
is_preview:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is used in preview deployments.",
|
|
},
|
|
is_build_time:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is used in build time.",
|
|
},
|
|
is_literal:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is a literal, nothing espaced.",
|
|
},
|
|
is_multiline:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is multiline.",
|
|
},
|
|
is_shown_once:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable's value is shown on the UI.",
|
|
},
|
|
},
|
|
type: object,
|
|
}
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Environment variables updated."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{ type: string, example: "Environment variables updated." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}/envs/{env_uuid}":
|
|
delete:
|
|
tags:
|
|
- Applications
|
|
summary: "Delete Env"
|
|
description: "Delete env by UUID."
|
|
operationId: delete-env-by-application-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: env_uuid
|
|
in: path
|
|
description: "UUID of the environment variable."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Environment variable deleted."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{ type: string, example: "Environment variable deleted." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}/start":
|
|
get:
|
|
tags:
|
|
- Applications
|
|
summary: Start
|
|
description: "Start application. `Post` request is also accepted."
|
|
operationId: start-application-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: force
|
|
in: query
|
|
description: "Force rebuild."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- name: instant_deploy
|
|
in: query
|
|
description: "Instant deploy (skip queuing)."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
responses:
|
|
"200":
|
|
description: "Start application."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Deployment request queued.",
|
|
description: Message.,
|
|
}
|
|
deployment_uuid:
|
|
{
|
|
type: string,
|
|
example: doogksw,
|
|
description: "UUID of the deployment.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}/stop":
|
|
get:
|
|
tags:
|
|
- Applications
|
|
summary: Stop
|
|
description: "Stop application. `Post` request is also accepted."
|
|
operationId: stop-application-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Stop application."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Application stopping request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}/restart":
|
|
get:
|
|
tags:
|
|
- Applications
|
|
summary: Restart
|
|
description: "Restart application. `Post` request is also accepted."
|
|
operationId: restart-application-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Restart application."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Restart request queued." }
|
|
deployment_uuid:
|
|
{
|
|
type: string,
|
|
example: doogksw,
|
|
description: "UUID of the deployment.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/applications/{uuid}/execute":
|
|
post:
|
|
tags:
|
|
- Applications
|
|
summary: "Execute Command"
|
|
description: "Execute a command on the application's current container."
|
|
operationId: execute-command-application
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Command to execute."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
command:
|
|
type: string
|
|
description: "Command to execute."
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Execute a command on the application's current container."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Command executed." }
|
|
response: { type: string }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases:
|
|
get:
|
|
tags:
|
|
- Databases
|
|
summary: List
|
|
description: "List all databases."
|
|
operationId: list-databases
|
|
responses:
|
|
"200":
|
|
description: "Get all databases"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "Content is very complex. Will be implemented later."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/databases/{uuid}":
|
|
get:
|
|
tags:
|
|
- Databases
|
|
summary: Get
|
|
description: "Get database by UUID."
|
|
operationId: get-database-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the database."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Get all databases"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "Content is very complex. Will be implemented later."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
delete:
|
|
tags:
|
|
- Databases
|
|
summary: Delete
|
|
description: "Delete database by UUID."
|
|
operationId: delete-database-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the database."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: delete_configurations
|
|
in: query
|
|
description: "Delete configurations."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: delete_volumes
|
|
in: query
|
|
description: "Delete volumes."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: docker_cleanup
|
|
in: query
|
|
description: "Run docker cleanup."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: delete_connected_networks
|
|
in: query
|
|
description: "Delete connected networks."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
responses:
|
|
"200":
|
|
description: "Database deleted."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Database deleted." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
patch:
|
|
tags:
|
|
- Databases
|
|
summary: Update
|
|
description: "Update database by UUID."
|
|
operationId: update-database-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the database."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
postgres_user:
|
|
type: string
|
|
description: "PostgreSQL user"
|
|
postgres_password:
|
|
type: string
|
|
description: "PostgreSQL password"
|
|
postgres_db:
|
|
type: string
|
|
description: "PostgreSQL database"
|
|
postgres_initdb_args:
|
|
type: string
|
|
description: "PostgreSQL initdb args"
|
|
postgres_host_auth_method:
|
|
type: string
|
|
description: "PostgreSQL host auth method"
|
|
postgres_conf:
|
|
type: string
|
|
description: "PostgreSQL conf"
|
|
clickhouse_admin_user:
|
|
type: string
|
|
description: "Clickhouse admin user"
|
|
clickhouse_admin_password:
|
|
type: string
|
|
description: "Clickhouse admin password"
|
|
dragonfly_password:
|
|
type: string
|
|
description: "DragonFly password"
|
|
redis_password:
|
|
type: string
|
|
description: "Redis password"
|
|
redis_conf:
|
|
type: string
|
|
description: "Redis conf"
|
|
keydb_password:
|
|
type: string
|
|
description: "KeyDB password"
|
|
keydb_conf:
|
|
type: string
|
|
description: "KeyDB conf"
|
|
mariadb_conf:
|
|
type: string
|
|
description: "MariaDB conf"
|
|
mariadb_root_password:
|
|
type: string
|
|
description: "MariaDB root password"
|
|
mariadb_user:
|
|
type: string
|
|
description: "MariaDB user"
|
|
mariadb_password:
|
|
type: string
|
|
description: "MariaDB password"
|
|
mariadb_database:
|
|
type: string
|
|
description: "MariaDB database"
|
|
mongo_conf:
|
|
type: string
|
|
description: "Mongo conf"
|
|
mongo_initdb_root_username:
|
|
type: string
|
|
description: "Mongo initdb root username"
|
|
mongo_initdb_root_password:
|
|
type: string
|
|
description: "Mongo initdb root password"
|
|
mongo_initdb_init_database:
|
|
type: string
|
|
description: "Mongo initdb init database"
|
|
mysql_root_password:
|
|
type: string
|
|
description: "MySQL root password"
|
|
mysql_user:
|
|
type: string
|
|
description: "MySQL user"
|
|
mysql_database:
|
|
type: string
|
|
description: "MySQL database"
|
|
mysql_conf:
|
|
type: string
|
|
description: "MySQL conf"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/postgresql:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (PostgreSQL)"
|
|
description: "Create a new PostgreSQL database."
|
|
operationId: create-database-postgresql
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
postgres_user:
|
|
type: string
|
|
description: "PostgreSQL user"
|
|
postgres_password:
|
|
type: string
|
|
description: "PostgreSQL password"
|
|
postgres_db:
|
|
type: string
|
|
description: "PostgreSQL database"
|
|
postgres_initdb_args:
|
|
type: string
|
|
description: "PostgreSQL initdb args"
|
|
postgres_host_auth_method:
|
|
type: string
|
|
description: "PostgreSQL host auth method"
|
|
postgres_conf:
|
|
type: string
|
|
description: "PostgreSQL conf"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/clickhouse:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (Clickhouse)"
|
|
description: "Create a new Clickhouse database."
|
|
operationId: create-database-clickhouse
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
clickhouse_admin_user:
|
|
type: string
|
|
description: "Clickhouse admin user"
|
|
clickhouse_admin_password:
|
|
type: string
|
|
description: "Clickhouse admin password"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/dragonfly:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (DragonFly)"
|
|
description: "Create a new DragonFly database."
|
|
operationId: create-database-dragonfly
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
dragonfly_password:
|
|
type: string
|
|
description: "DragonFly password"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/redis:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (Redis)"
|
|
description: "Create a new Redis database."
|
|
operationId: create-database-redis
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
redis_password:
|
|
type: string
|
|
description: "Redis password"
|
|
redis_conf:
|
|
type: string
|
|
description: "Redis conf"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/keydb:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (KeyDB)"
|
|
description: "Create a new KeyDB database."
|
|
operationId: create-database-keydb
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
keydb_password:
|
|
type: string
|
|
description: "KeyDB password"
|
|
keydb_conf:
|
|
type: string
|
|
description: "KeyDB conf"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/mariadb:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (MariaDB)"
|
|
description: "Create a new MariaDB database."
|
|
operationId: create-database-mariadb
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
mariadb_conf:
|
|
type: string
|
|
description: "MariaDB conf"
|
|
mariadb_root_password:
|
|
type: string
|
|
description: "MariaDB root password"
|
|
mariadb_user:
|
|
type: string
|
|
description: "MariaDB user"
|
|
mariadb_password:
|
|
type: string
|
|
description: "MariaDB password"
|
|
mariadb_database:
|
|
type: string
|
|
description: "MariaDB database"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/mysql:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (MySQL)"
|
|
description: "Create a new MySQL database."
|
|
operationId: create-database-mysql
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
mysql_root_password:
|
|
type: string
|
|
description: "MySQL root password"
|
|
mysql_user:
|
|
type: string
|
|
description: "MySQL user"
|
|
mysql_database:
|
|
type: string
|
|
description: "MySQL database"
|
|
mysql_conf:
|
|
type: string
|
|
description: "MySQL conf"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/databases/mongodb:
|
|
post:
|
|
tags:
|
|
- Databases
|
|
summary: "Create (MongoDB)"
|
|
description: "Create a new MongoDB database."
|
|
operationId: create-database-mongodb
|
|
requestBody:
|
|
description: "Database data"
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
properties:
|
|
server_uuid:
|
|
type: string
|
|
description: "UUID of the server"
|
|
project_uuid:
|
|
type: string
|
|
description: "UUID of the project"
|
|
environment_name:
|
|
type: string
|
|
description: "Name of the environment"
|
|
destination_uuid:
|
|
type: string
|
|
description: "UUID of the destination if the server has multiple destinations"
|
|
mongo_conf:
|
|
type: string
|
|
description: "MongoDB conf"
|
|
mongo_initdb_root_username:
|
|
type: string
|
|
description: "MongoDB initdb root username"
|
|
name:
|
|
type: string
|
|
description: "Name of the database"
|
|
description:
|
|
type: string
|
|
description: "Description of the database"
|
|
image:
|
|
type: string
|
|
description: "Docker Image of the database"
|
|
is_public:
|
|
type: boolean
|
|
description: "Is the database public?"
|
|
public_port:
|
|
type: integer
|
|
description: "Public port of the database"
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit of the database"
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit of the database"
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness of the database"
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation of the database"
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit of the database"
|
|
limits_cpuset:
|
|
type: string
|
|
description: "CPU set of the database"
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares of the database"
|
|
instant_deploy:
|
|
type: boolean
|
|
description: "Instant deploy the database"
|
|
type: object
|
|
responses:
|
|
"200":
|
|
description: "Database updated"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/databases/{uuid}/start":
|
|
get:
|
|
tags:
|
|
- Databases
|
|
summary: Start
|
|
description: "Start database. `Post` request is also accepted."
|
|
operationId: start-database-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the database."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Start database."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Database starting request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/databases/{uuid}/stop":
|
|
get:
|
|
tags:
|
|
- Databases
|
|
summary: Stop
|
|
description: "Stop database. `Post` request is also accepted."
|
|
operationId: stop-database-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the database."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Stop database."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Database stopping request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/databases/{uuid}/restart":
|
|
get:
|
|
tags:
|
|
- Databases
|
|
summary: Restart
|
|
description: "Restart database. `Post` request is also accepted."
|
|
operationId: restart-database-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the database."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Restart database."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Database restaring request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/deployments:
|
|
get:
|
|
tags:
|
|
- Deployments
|
|
summary: List
|
|
description: "List currently running deployments"
|
|
operationId: list-deployments
|
|
responses:
|
|
"200":
|
|
description: "Get all currently running deployments."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ApplicationDeploymentQueue"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/deployments/{uuid}":
|
|
get:
|
|
tags:
|
|
- Deployments
|
|
summary: Get
|
|
description: "Get deployment by UUID."
|
|
operationId: get-deployment-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Deployment UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Get deployment by UUID."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ApplicationDeploymentQueue"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/deploy:
|
|
get:
|
|
tags:
|
|
- Deployments
|
|
summary: Deploy
|
|
description: "Deploy by tag or uuid. `Post` request also accepted."
|
|
operationId: deploy-by-tag-or-uuid
|
|
parameters:
|
|
- name: tag
|
|
in: query
|
|
description: "Tag name(s). Comma separated list is also accepted."
|
|
schema:
|
|
type: string
|
|
- name: uuid
|
|
in: query
|
|
description: "Resource UUID(s). Comma separated list is also accepted."
|
|
schema:
|
|
type: string
|
|
- name: force
|
|
in: query
|
|
description: "Force rebuild (without cache)"
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: "Get deployment(s) UUID's"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
deployments:
|
|
{
|
|
type: array,
|
|
items:
|
|
{
|
|
properties:
|
|
{
|
|
message: { type: string },
|
|
resource_uuid: { type: string },
|
|
deployment_uuid: { type: string },
|
|
},
|
|
type: object,
|
|
},
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/version:
|
|
get:
|
|
summary: Version
|
|
description: "Get Coolify version."
|
|
operationId: version
|
|
responses:
|
|
"200":
|
|
description: "Returns the version of the application"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: v4.0.0
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/enable:
|
|
get:
|
|
summary: "Enable API"
|
|
description: "Enable API (only with root permissions)."
|
|
operationId: enable-api
|
|
responses:
|
|
"200":
|
|
description: "Enable API."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "API enabled." }
|
|
type: object
|
|
"403":
|
|
description: "You are not allowed to enable the API."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "You are not allowed to enable the API.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/disable:
|
|
get:
|
|
summary: "Disable API"
|
|
description: "Disable API (only with root permissions)."
|
|
operationId: disable-api
|
|
responses:
|
|
"200":
|
|
description: "Disable API."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "API disabled." }
|
|
type: object
|
|
"403":
|
|
description: "You are not allowed to disable the API."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "You are not allowed to disable the API.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/health:
|
|
get:
|
|
summary: Healthcheck
|
|
description: "Healthcheck endpoint."
|
|
operationId: healthcheck
|
|
responses:
|
|
"200":
|
|
description: "Healthcheck endpoint."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: OK
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
/projects:
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: List
|
|
description: "List projects."
|
|
operationId: list-projects
|
|
responses:
|
|
"200":
|
|
description: "Get all projects."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Project"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
post:
|
|
tags:
|
|
- Projects
|
|
summary: Create
|
|
description: "Create Project."
|
|
operationId: create-project
|
|
requestBody:
|
|
description: "Project created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: "The name of the project."
|
|
description:
|
|
type: string
|
|
description: "The description of the project."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Project created."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid:
|
|
{
|
|
type: string,
|
|
example: og888os,
|
|
description: "The UUID of the project.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/projects/{uuid}":
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Get
|
|
description: "Get project by UUID."
|
|
operationId: get-project-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Project UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Project details"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Project"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
description: "Project not found."
|
|
security:
|
|
- bearerAuth: []
|
|
delete:
|
|
tags:
|
|
- Projects
|
|
summary: Delete
|
|
description: "Delete project by UUID."
|
|
operationId: delete-project-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Project deleted."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Project deleted." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
patch:
|
|
tags:
|
|
- Projects
|
|
summary: Update
|
|
description: "Update Project."
|
|
operationId: update-project-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the application."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Project updated."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: "The name of the project."
|
|
description:
|
|
type: string
|
|
description: "The description of the project."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Project updated."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid: { type: string, example: og888os }
|
|
name: { type: string, example: "Project Name" }
|
|
description: { type: string, example: "Project Description" }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/projects/{uuid}/{environment_name}":
|
|
get:
|
|
tags:
|
|
- Projects
|
|
summary: Environment
|
|
description: "Get environment by name."
|
|
operationId: get-environment-by-name
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Project UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: environment_name
|
|
in: path
|
|
description: "Environment name"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Environment details"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Environment"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/resources:
|
|
get:
|
|
tags:
|
|
- Resources
|
|
summary: List
|
|
description: "Get all resources."
|
|
operationId: list-resources
|
|
responses:
|
|
"200":
|
|
description: "Get all resources"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
example: "Content is very complex. Will be implemented later."
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/security/keys:
|
|
get:
|
|
tags:
|
|
- "Private Keys"
|
|
summary: List
|
|
description: "List all private keys."
|
|
operationId: list-private-keys
|
|
responses:
|
|
"200":
|
|
description: "Get all private keys."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/PrivateKey"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
post:
|
|
tags:
|
|
- "Private Keys"
|
|
summary: Create
|
|
description: "Create a new private key."
|
|
operationId: create-private-key
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- private_key
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
private_key:
|
|
type: string
|
|
type: object
|
|
additionalProperties: false
|
|
responses:
|
|
"201":
|
|
description: "The created private key's UUID."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid: { type: string }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
patch:
|
|
tags:
|
|
- "Private Keys"
|
|
summary: Update
|
|
description: "Update a private key."
|
|
operationId: update-private-key
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- private_key
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
private_key:
|
|
type: string
|
|
type: object
|
|
additionalProperties: false
|
|
responses:
|
|
"201":
|
|
description: "The updated private key's UUID."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid: { type: string }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/security/keys/{uuid}":
|
|
get:
|
|
tags:
|
|
- "Private Keys"
|
|
summary: Get
|
|
description: "Get key by UUID."
|
|
operationId: get-private-key-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Private Key UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Get all private keys."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PrivateKey"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
description: "Private Key not found."
|
|
security:
|
|
- bearerAuth: []
|
|
delete:
|
|
tags:
|
|
- "Private Keys"
|
|
summary: Delete
|
|
description: "Delete a private key."
|
|
operationId: delete-private-key-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Private Key UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Private Key deleted."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Private Key deleted." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
description: "Private Key not found."
|
|
security:
|
|
- bearerAuth: []
|
|
/servers:
|
|
get:
|
|
tags:
|
|
- Servers
|
|
summary: List
|
|
description: "List all servers."
|
|
operationId: list-servers
|
|
responses:
|
|
"200":
|
|
description: "Get all servers."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Server"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
post:
|
|
tags:
|
|
- Servers
|
|
summary: Create
|
|
description: "Create Server."
|
|
operationId: create-server
|
|
requestBody:
|
|
description: "Server created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
name:
|
|
type: string
|
|
example: "My Server"
|
|
description: "The name of the server."
|
|
description:
|
|
type: string
|
|
example: "My Server Description"
|
|
description: "The description of the server."
|
|
ip:
|
|
type: string
|
|
example: 127.0.0.1
|
|
description: "The IP of the server."
|
|
port:
|
|
type: integer
|
|
example: 22
|
|
description: "The port of the server."
|
|
user:
|
|
type: string
|
|
example: root
|
|
description: "The user of the server."
|
|
private_key_uuid:
|
|
type: string
|
|
example: og888os
|
|
description: "The UUID of the private key."
|
|
is_build_server:
|
|
type: boolean
|
|
example: false
|
|
description: "Is build server."
|
|
instant_validate:
|
|
type: boolean
|
|
example: false
|
|
description: "Instant validate."
|
|
proxy_type:
|
|
type: string
|
|
enum: [traefik, caddy, none]
|
|
example: traefik
|
|
description: "The proxy type."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Server created."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid:
|
|
{
|
|
type: string,
|
|
example: og888os,
|
|
description: "The UUID of the server.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/servers/{uuid}":
|
|
get:
|
|
tags:
|
|
- Servers
|
|
summary: Get
|
|
description: "Get server by UUID."
|
|
operationId: get-server-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Server's UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Get server by UUID"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Server"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
delete:
|
|
tags:
|
|
- Servers
|
|
summary: Delete
|
|
description: "Delete server by UUID."
|
|
operationId: delete-server-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the server."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Server deleted."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Server deleted." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
patch:
|
|
tags:
|
|
- Servers
|
|
summary: Update
|
|
description: "Update Server."
|
|
operationId: update-server-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Server's UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
description: "Server updated."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: "The name of the server."
|
|
description:
|
|
type: string
|
|
description: "The description of the server."
|
|
ip:
|
|
type: string
|
|
description: "The IP of the server."
|
|
port:
|
|
type: integer
|
|
description: "The port of the server."
|
|
user:
|
|
type: string
|
|
description: "The user of the server."
|
|
private_key_uuid:
|
|
type: string
|
|
description: "The UUID of the private key."
|
|
is_build_server:
|
|
type: boolean
|
|
description: "Is build server."
|
|
instant_validate:
|
|
type: boolean
|
|
description: "Instant validate."
|
|
proxy_type:
|
|
type: string
|
|
enum: [traefik, caddy, none]
|
|
description: "The proxy type."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Server updated."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Server"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/servers/{uuid}/resources":
|
|
get:
|
|
tags:
|
|
- Servers
|
|
summary: Resources
|
|
description: "Get resources by server."
|
|
operationId: get-resources-by-server-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Server's UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Get resources by server"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
properties:
|
|
{
|
|
id: { type: integer },
|
|
uuid: { type: string },
|
|
name: { type: string },
|
|
type: { type: string },
|
|
created_at: { type: string },
|
|
updated_at: { type: string },
|
|
status: { type: string },
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/servers/{uuid}/domains":
|
|
get:
|
|
tags:
|
|
- Servers
|
|
summary: Domains
|
|
description: "Get domains by server."
|
|
operationId: get-domains-by-server-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Server's UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Get domains by server"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
properties:
|
|
{
|
|
ip: { type: string },
|
|
domains: { type: array, items: { type: string } },
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/servers/{uuid}/validate":
|
|
get:
|
|
tags:
|
|
- Servers
|
|
summary: Validate
|
|
description: "Validate server by UUID."
|
|
operationId: validate-server-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Server UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"201":
|
|
description: "Server validation started."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message: { type: string, example: "Validation started." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/services:
|
|
get:
|
|
tags:
|
|
- Services
|
|
summary: List
|
|
description: "List all services."
|
|
operationId: list-services
|
|
responses:
|
|
"200":
|
|
description: "Get all services"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Service"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
post:
|
|
tags:
|
|
- Services
|
|
summary: Create
|
|
description: "Create a one-click service"
|
|
operationId: create-service
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- server_uuid
|
|
- project_uuid
|
|
- environment_name
|
|
- type
|
|
properties:
|
|
type:
|
|
description: "The one-click service type"
|
|
type: string
|
|
enum:
|
|
[
|
|
activepieces,
|
|
appsmith,
|
|
appwrite,
|
|
authentik,
|
|
babybuddy,
|
|
budge,
|
|
changedetection,
|
|
chatwoot,
|
|
classicpress-with-mariadb,
|
|
classicpress-with-mysql,
|
|
classicpress-without-database,
|
|
cloudflared,
|
|
code-server,
|
|
dashboard,
|
|
directus,
|
|
directus-with-postgresql,
|
|
docker-registry,
|
|
docuseal,
|
|
docuseal-with-postgres,
|
|
dokuwiki,
|
|
duplicati,
|
|
emby,
|
|
embystat,
|
|
fider,
|
|
filebrowser,
|
|
firefly,
|
|
formbricks,
|
|
ghost,
|
|
gitea,
|
|
gitea-with-mariadb,
|
|
gitea-with-mysql,
|
|
gitea-with-postgresql,
|
|
glance,
|
|
glances,
|
|
glitchtip,
|
|
grafana,
|
|
grafana-with-postgresql,
|
|
grocy,
|
|
heimdall,
|
|
homepage,
|
|
jellyfin,
|
|
jenkins,
|
|
kuzzle,
|
|
listmonk,
|
|
logto,
|
|
mediawiki,
|
|
meilisearch,
|
|
metabase,
|
|
metube,
|
|
minio,
|
|
moodle,
|
|
mosquitto,
|
|
n8n,
|
|
n8n-with-postgresql,
|
|
next-image-transformation,
|
|
nextcloud,
|
|
nocodb,
|
|
odoo,
|
|
openblocks,
|
|
pairdrop,
|
|
penpot,
|
|
phpmyadmin,
|
|
pocketbase,
|
|
posthog,
|
|
reactive-resume,
|
|
rocketchat,
|
|
shlink,
|
|
slash,
|
|
snapdrop,
|
|
statusnook,
|
|
stirling-pdf,
|
|
supabase,
|
|
syncthing,
|
|
tolgee,
|
|
trigger,
|
|
trigger-with-external-database,
|
|
twenty,
|
|
umami,
|
|
unleash-with-postgresql,
|
|
unleash-without-database,
|
|
uptime-kuma,
|
|
vaultwarden,
|
|
vikunja,
|
|
weblate,
|
|
whoogle,
|
|
wordpress-with-mariadb,
|
|
wordpress-with-mysql,
|
|
wordpress-without-database,
|
|
]
|
|
name:
|
|
type: string
|
|
maxLength: 255
|
|
description: "Name of the service."
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
description: "Description of the service."
|
|
project_uuid:
|
|
type: string
|
|
description: "Project UUID."
|
|
environment_name:
|
|
type: string
|
|
description: "Environment name."
|
|
server_uuid:
|
|
type: string
|
|
description: "Server UUID."
|
|
destination_uuid:
|
|
type: string
|
|
description: "Destination UUID. Required if server has multiple destinations."
|
|
instant_deploy:
|
|
type: boolean
|
|
default: false
|
|
description: "Start the service immediately after creation."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Create a service."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid: { type: string, description: "Service UUID." }
|
|
domains:
|
|
{
|
|
type: array,
|
|
items: { type: string },
|
|
description: "Service domains.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/services/{uuid}":
|
|
get:
|
|
tags:
|
|
- Services
|
|
summary: Get
|
|
description: "Get service by UUID."
|
|
operationId: get-service-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Service UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: "Get a service by UUID."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Service"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
delete:
|
|
tags:
|
|
- Services
|
|
summary: Delete
|
|
description: "Delete service by UUID."
|
|
operationId: delete-service-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "Service UUID"
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: delete_configurations
|
|
in: query
|
|
description: "Delete configurations."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: delete_volumes
|
|
in: query
|
|
description: "Delete volumes."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: docker_cleanup
|
|
in: query
|
|
description: "Run docker cleanup."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- name: delete_connected_networks
|
|
in: query
|
|
description: "Delete connected networks."
|
|
required: false
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
responses:
|
|
"200":
|
|
description: "Delete a service by UUID"
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Service deletion request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/services/{uuid}/envs":
|
|
get:
|
|
tags:
|
|
- Services
|
|
summary: "List Envs"
|
|
description: "List all envs by service UUID."
|
|
operationId: list-envs-by-service-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "All environment variables by service UUID."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/EnvironmentVariable"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
post:
|
|
tags:
|
|
- Services
|
|
summary: "Create Env"
|
|
description: "Create env by service UUID."
|
|
operationId: create-env-by-service-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Env created."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: "The key of the environment variable."
|
|
value:
|
|
type: string
|
|
description: "The value of the environment variable."
|
|
is_preview:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in preview deployments."
|
|
is_build_time:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in build time."
|
|
is_literal:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is a literal, nothing espaced."
|
|
is_multiline:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is multiline."
|
|
is_shown_once:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable's value is shown on the UI."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Environment variable created."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
uuid: { type: string, example: nc0k04gk8g0cgsk440g0koko }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
patch:
|
|
tags:
|
|
- Services
|
|
summary: "Update Env"
|
|
description: "Update env by service UUID."
|
|
operationId: update-env-by-service-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Env updated."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- key
|
|
- value
|
|
properties:
|
|
key:
|
|
type: string
|
|
description: "The key of the environment variable."
|
|
value:
|
|
type: string
|
|
description: "The value of the environment variable."
|
|
is_preview:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in preview deployments."
|
|
is_build_time:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is used in build time."
|
|
is_literal:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is a literal, nothing espaced."
|
|
is_multiline:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable is multiline."
|
|
is_shown_once:
|
|
type: boolean
|
|
description: "The flag to indicate if the environment variable's value is shown on the UI."
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Environment variable updated."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{ type: string, example: "Environment variable updated." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/services/{uuid}/envs/bulk":
|
|
patch:
|
|
tags:
|
|
- Services
|
|
summary: "Update Envs (Bulk)"
|
|
description: "Update multiple envs by service UUID."
|
|
operationId: update-envs-by-service-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
description: "Bulk envs updated."
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- data
|
|
properties:
|
|
data:
|
|
type: array
|
|
items:
|
|
{
|
|
properties:
|
|
{
|
|
key:
|
|
{
|
|
type: string,
|
|
description: "The key of the environment variable.",
|
|
},
|
|
value:
|
|
{
|
|
type: string,
|
|
description: "The value of the environment variable.",
|
|
},
|
|
is_preview:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is used in preview deployments.",
|
|
},
|
|
is_build_time:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is used in build time.",
|
|
},
|
|
is_literal:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is a literal, nothing espaced.",
|
|
},
|
|
is_multiline:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable is multiline.",
|
|
},
|
|
is_shown_once:
|
|
{
|
|
type: boolean,
|
|
description: "The flag to indicate if the environment variable's value is shown on the UI.",
|
|
},
|
|
},
|
|
type: object,
|
|
}
|
|
type: object
|
|
responses:
|
|
"201":
|
|
description: "Environment variables updated."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{ type: string, example: "Environment variables updated." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/services/{uuid}/envs/{env_uuid}":
|
|
delete:
|
|
tags:
|
|
- Services
|
|
summary: "Delete Env"
|
|
description: "Delete env by UUID."
|
|
operationId: delete-env-by-service-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
- name: env_uuid
|
|
in: path
|
|
description: "UUID of the environment variable."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Environment variable deleted."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{ type: string, example: "Environment variable deleted." }
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/services/{uuid}/start":
|
|
get:
|
|
tags:
|
|
- Services
|
|
summary: Start
|
|
description: "Start service. `Post` request is also accepted."
|
|
operationId: start-service-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Start service."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Service starting request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/services/{uuid}/stop":
|
|
get:
|
|
tags:
|
|
- Services
|
|
summary: Stop
|
|
description: "Stop service. `Post` request is also accepted."
|
|
operationId: stop-service-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Stop service."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Service stopping request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/services/{uuid}/restart":
|
|
get:
|
|
tags:
|
|
- Services
|
|
summary: Restart
|
|
description: "Restart service. `Post` request is also accepted."
|
|
operationId: restart-service-by-uuid
|
|
parameters:
|
|
- name: uuid
|
|
in: path
|
|
description: "UUID of the service."
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
"200":
|
|
description: "Restart service."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
{
|
|
type: string,
|
|
example: "Service restaring request queued.",
|
|
}
|
|
type: object
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/teams:
|
|
get:
|
|
tags:
|
|
- Teams
|
|
summary: List
|
|
description: "Get all teams."
|
|
operationId: list-teams
|
|
responses:
|
|
"200":
|
|
description: "List of teams."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Team"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
"/teams/{id}":
|
|
get:
|
|
tags:
|
|
- Teams
|
|
summary: Get
|
|
description: "Get team by TeamId."
|
|
operationId: get-team-by-id
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
description: "Team ID"
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: "List of teams."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
"/teams/{id}/members":
|
|
get:
|
|
tags:
|
|
- Teams
|
|
summary: Members
|
|
description: "Get members by TeamId."
|
|
operationId: get-members-by-team-id
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
description: "Team ID"
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
"200":
|
|
description: "List of members."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/User"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
security:
|
|
- bearerAuth: []
|
|
/teams/current:
|
|
get:
|
|
tags:
|
|
- Teams
|
|
summary: "Authenticated Team"
|
|
description: "Get currently authenticated team."
|
|
operationId: get-current-team
|
|
responses:
|
|
"200":
|
|
description: "Current Team."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Team"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
/teams/current/members:
|
|
get:
|
|
tags:
|
|
- Teams
|
|
summary: "Authenticated Team Members"
|
|
description: "Get currently authenticated team members."
|
|
operationId: get-current-team-members
|
|
responses:
|
|
"200":
|
|
description: "Currently authenticated team members."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/User"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthenticated"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
security:
|
|
- bearerAuth: []
|
|
components:
|
|
schemas:
|
|
Application:
|
|
description: "Application model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: "The application identifier in the database."
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
description: "The application description."
|
|
repository_project_id:
|
|
type: integer
|
|
nullable: true
|
|
description: "The repository project identifier."
|
|
uuid:
|
|
type: string
|
|
description: "The application UUID."
|
|
name:
|
|
type: string
|
|
description: "The application name."
|
|
fqdn:
|
|
type: string
|
|
nullable: true
|
|
description: "The application domains."
|
|
config_hash:
|
|
type: string
|
|
description: "Configuration hash."
|
|
git_repository:
|
|
type: string
|
|
description: "Git repository URL."
|
|
git_branch:
|
|
type: string
|
|
description: "Git branch."
|
|
git_commit_sha:
|
|
type: string
|
|
description: "Git commit SHA."
|
|
git_full_url:
|
|
type: string
|
|
nullable: true
|
|
description: "Git full URL."
|
|
docker_registry_image_name:
|
|
type: string
|
|
nullable: true
|
|
description: "Docker registry image name."
|
|
docker_registry_image_tag:
|
|
type: string
|
|
nullable: true
|
|
description: "Docker registry image tag."
|
|
build_pack:
|
|
type: string
|
|
description: "Build pack."
|
|
enum:
|
|
- nixpacks
|
|
- static
|
|
- dockerfile
|
|
- dockercompose
|
|
static_image:
|
|
type: string
|
|
description: "Static image used when static site is deployed."
|
|
install_command:
|
|
type: string
|
|
description: "Install command."
|
|
build_command:
|
|
type: string
|
|
description: "Build command."
|
|
start_command:
|
|
type: string
|
|
description: "Start command."
|
|
ports_exposes:
|
|
type: string
|
|
description: "Ports exposes."
|
|
ports_mappings:
|
|
type: string
|
|
nullable: true
|
|
description: "Ports mappings."
|
|
base_directory:
|
|
type: string
|
|
description: "Base directory for all commands."
|
|
publish_directory:
|
|
type: string
|
|
description: "Publish directory."
|
|
health_check_enabled:
|
|
type: boolean
|
|
description: "Health check enabled."
|
|
health_check_path:
|
|
type: string
|
|
description: "Health check path."
|
|
health_check_port:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check port."
|
|
health_check_host:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check host."
|
|
health_check_method:
|
|
type: string
|
|
description: "Health check method."
|
|
health_check_return_code:
|
|
type: integer
|
|
description: "Health check return code."
|
|
health_check_scheme:
|
|
type: string
|
|
description: "Health check scheme."
|
|
health_check_response_text:
|
|
type: string
|
|
nullable: true
|
|
description: "Health check response text."
|
|
health_check_interval:
|
|
type: integer
|
|
description: "Health check interval in seconds."
|
|
health_check_timeout:
|
|
type: integer
|
|
description: "Health check timeout in seconds."
|
|
health_check_retries:
|
|
type: integer
|
|
description: "Health check retries count."
|
|
health_check_start_period:
|
|
type: integer
|
|
description: "Health check start period in seconds."
|
|
limits_memory:
|
|
type: string
|
|
description: "Memory limit."
|
|
limits_memory_swap:
|
|
type: string
|
|
description: "Memory swap limit."
|
|
limits_memory_swappiness:
|
|
type: integer
|
|
description: "Memory swappiness."
|
|
limits_memory_reservation:
|
|
type: string
|
|
description: "Memory reservation."
|
|
limits_cpus:
|
|
type: string
|
|
description: "CPU limit."
|
|
limits_cpuset:
|
|
type: string
|
|
nullable: true
|
|
description: "CPU set."
|
|
limits_cpu_shares:
|
|
type: integer
|
|
description: "CPU shares."
|
|
status:
|
|
type: string
|
|
description: "Application status."
|
|
preview_url_template:
|
|
type: string
|
|
description: "Preview URL template."
|
|
destination_type:
|
|
type: string
|
|
description: "Destination type."
|
|
destination_id:
|
|
type: integer
|
|
description: "Destination identifier."
|
|
source_id:
|
|
type: integer
|
|
nullable: true
|
|
description: "Source identifier."
|
|
private_key_id:
|
|
type: integer
|
|
nullable: true
|
|
description: "Private key identifier."
|
|
environment_id:
|
|
type: integer
|
|
description: "Environment identifier."
|
|
dockerfile:
|
|
type: string
|
|
nullable: true
|
|
description: "Dockerfile content. Used for dockerfile build pack."
|
|
dockerfile_location:
|
|
type: string
|
|
description: "Dockerfile location."
|
|
custom_labels:
|
|
type: string
|
|
nullable: true
|
|
description: "Custom labels."
|
|
dockerfile_target_build:
|
|
type: string
|
|
nullable: true
|
|
description: "Dockerfile target build."
|
|
manual_webhook_secret_github:
|
|
type: string
|
|
nullable: true
|
|
description: "Manual webhook secret for GitHub."
|
|
manual_webhook_secret_gitlab:
|
|
type: string
|
|
nullable: true
|
|
description: "Manual webhook secret for GitLab."
|
|
manual_webhook_secret_bitbucket:
|
|
type: string
|
|
nullable: true
|
|
description: "Manual webhook secret for Bitbucket."
|
|
manual_webhook_secret_gitea:
|
|
type: string
|
|
nullable: true
|
|
description: "Manual webhook secret for Gitea."
|
|
docker_compose_location:
|
|
type: string
|
|
description: "Docker compose location."
|
|
docker_compose:
|
|
type: string
|
|
nullable: true
|
|
description: "Docker compose content. Used for docker compose build pack."
|
|
docker_compose_raw:
|
|
type: string
|
|
nullable: true
|
|
description: "Docker compose raw content."
|
|
docker_compose_domains:
|
|
type: string
|
|
nullable: true
|
|
description: "Docker compose domains."
|
|
docker_compose_custom_start_command:
|
|
type: string
|
|
nullable: true
|
|
description: "Docker compose custom start command."
|
|
docker_compose_custom_build_command:
|
|
type: string
|
|
nullable: true
|
|
description: "Docker compose custom build command."
|
|
swarm_replicas:
|
|
type: integer
|
|
nullable: true
|
|
description: "Swarm replicas. Only used for swarm deployments."
|
|
swarm_placement_constraints:
|
|
type: string
|
|
nullable: true
|
|
description: "Swarm placement constraints. Only used for swarm deployments."
|
|
custom_docker_run_options:
|
|
type: string
|
|
nullable: true
|
|
description: "Custom docker run options."
|
|
post_deployment_command:
|
|
type: string
|
|
nullable: true
|
|
description: "Post deployment command."
|
|
post_deployment_command_container:
|
|
type: string
|
|
nullable: true
|
|
description: "Post deployment command container."
|
|
pre_deployment_command:
|
|
type: string
|
|
nullable: true
|
|
description: "Pre deployment command."
|
|
pre_deployment_command_container:
|
|
type: string
|
|
nullable: true
|
|
description: "Pre deployment command container."
|
|
watch_paths:
|
|
type: string
|
|
nullable: true
|
|
description: "Watch paths."
|
|
custom_healthcheck_found:
|
|
type: boolean
|
|
description: "Custom healthcheck found."
|
|
redirect:
|
|
type: string
|
|
nullable: true
|
|
description: "How to set redirect with Traefik / Caddy. www<->non-www."
|
|
enum:
|
|
- www
|
|
- non-www
|
|
- both
|
|
created_at:
|
|
type: string
|
|
format: date-time
|
|
description: "The date and time when the application was created."
|
|
updated_at:
|
|
type: string
|
|
format: date-time
|
|
description: "The date and time when the application was last updated."
|
|
deleted_at:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
description: "The date and time when the application was deleted."
|
|
compose_parsing_version:
|
|
type: string
|
|
description: "How Coolify parse the compose file."
|
|
custom_nginx_configuration:
|
|
type: string
|
|
nullable: true
|
|
description: "Custom Nginx configuration base64 encoded."
|
|
type: object
|
|
ApplicationDeploymentQueue:
|
|
description: "Project model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
application_id:
|
|
type: string
|
|
deployment_uuid:
|
|
type: string
|
|
pull_request_id:
|
|
type: integer
|
|
force_rebuild:
|
|
type: boolean
|
|
commit:
|
|
type: string
|
|
status:
|
|
type: string
|
|
is_webhook:
|
|
type: boolean
|
|
is_api:
|
|
type: boolean
|
|
created_at:
|
|
type: string
|
|
updated_at:
|
|
type: string
|
|
logs:
|
|
type: string
|
|
current_process_id:
|
|
type: string
|
|
restart_only:
|
|
type: boolean
|
|
git_type:
|
|
type: string
|
|
server_id:
|
|
type: integer
|
|
application_name:
|
|
type: string
|
|
server_name:
|
|
type: string
|
|
deployment_url:
|
|
type: string
|
|
destination_id:
|
|
type: string
|
|
only_this_server:
|
|
type: boolean
|
|
rollback:
|
|
type: boolean
|
|
commit_message:
|
|
type: string
|
|
type: object
|
|
Environment:
|
|
description: "Environment model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
project_id:
|
|
type: integer
|
|
created_at:
|
|
type: string
|
|
updated_at:
|
|
type: string
|
|
description:
|
|
type: string
|
|
type: object
|
|
EnvironmentVariable:
|
|
description: "Environment Variable model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
uuid:
|
|
type: string
|
|
application_id:
|
|
type: integer
|
|
service_id:
|
|
type: integer
|
|
database_id:
|
|
type: integer
|
|
is_build_time:
|
|
type: boolean
|
|
is_literal:
|
|
type: boolean
|
|
is_multiline:
|
|
type: boolean
|
|
is_preview:
|
|
type: boolean
|
|
is_shared:
|
|
type: boolean
|
|
is_shown_once:
|
|
type: boolean
|
|
key:
|
|
type: string
|
|
value:
|
|
type: string
|
|
real_value:
|
|
type: string
|
|
version:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
updated_at:
|
|
type: string
|
|
type: object
|
|
PrivateKey:
|
|
description: "Private Key model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
uuid:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
private_key:
|
|
type: string
|
|
format: private-key
|
|
is_git_related:
|
|
type: boolean
|
|
team_id:
|
|
type: integer
|
|
created_at:
|
|
type: string
|
|
updated_at:
|
|
type: string
|
|
type: object
|
|
Project:
|
|
description: "Project model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
uuid:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
environments:
|
|
description: "The environments of the project."
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Environment"
|
|
type: object
|
|
Server:
|
|
description: "Server model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: "The server ID."
|
|
uuid:
|
|
type: string
|
|
description: "The server UUID."
|
|
name:
|
|
type: string
|
|
description: "The server name."
|
|
description:
|
|
type: string
|
|
description: "The server description."
|
|
ip:
|
|
type: string
|
|
description: "The IP address."
|
|
user:
|
|
type: string
|
|
description: "The user."
|
|
port:
|
|
type: integer
|
|
description: "The port number."
|
|
proxy:
|
|
type: object
|
|
description: "The proxy configuration."
|
|
proxy_type:
|
|
type: string
|
|
enum:
|
|
- traefik
|
|
- caddy
|
|
- none
|
|
description: "The proxy type."
|
|
high_disk_usage_notification_sent:
|
|
type: boolean
|
|
description: "The flag to indicate if the high disk usage notification has been sent."
|
|
unreachable_notification_sent:
|
|
type: boolean
|
|
description: "The flag to indicate if the unreachable notification has been sent."
|
|
unreachable_count:
|
|
type: integer
|
|
description: "The unreachable count for your server."
|
|
validation_logs:
|
|
type: string
|
|
description: "The validation logs."
|
|
log_drain_notification_sent:
|
|
type: boolean
|
|
description: "The flag to indicate if the log drain notification has been sent."
|
|
swarm_cluster:
|
|
type: string
|
|
description: "The swarm cluster configuration."
|
|
delete_unused_volumes:
|
|
type: boolean
|
|
description: "The flag to indicate if the unused volumes should be deleted."
|
|
delete_unused_networks:
|
|
type: boolean
|
|
description: "The flag to indicate if the unused networks should be deleted."
|
|
type: object
|
|
ServerSetting:
|
|
description: "Server Settings model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
concurrent_builds:
|
|
type: integer
|
|
dynamic_timeout:
|
|
type: integer
|
|
force_disabled:
|
|
type: boolean
|
|
force_server_cleanup:
|
|
type: boolean
|
|
is_build_server:
|
|
type: boolean
|
|
is_cloudflare_tunnel:
|
|
type: boolean
|
|
is_jump_server:
|
|
type: boolean
|
|
is_logdrain_axiom_enabled:
|
|
type: boolean
|
|
is_logdrain_custom_enabled:
|
|
type: boolean
|
|
is_logdrain_highlight_enabled:
|
|
type: boolean
|
|
is_logdrain_newrelic_enabled:
|
|
type: boolean
|
|
is_metrics_enabled:
|
|
type: boolean
|
|
is_reachable:
|
|
type: boolean
|
|
is_sentinel_enabled:
|
|
type: boolean
|
|
is_swarm_manager:
|
|
type: boolean
|
|
is_swarm_worker:
|
|
type: boolean
|
|
is_usable:
|
|
type: boolean
|
|
logdrain_axiom_api_key:
|
|
type: string
|
|
logdrain_axiom_dataset_name:
|
|
type: string
|
|
logdrain_custom_config:
|
|
type: string
|
|
logdrain_custom_config_parser:
|
|
type: string
|
|
logdrain_highlight_project_id:
|
|
type: string
|
|
logdrain_newrelic_base_uri:
|
|
type: string
|
|
logdrain_newrelic_license_key:
|
|
type: string
|
|
sentinel_metrics_history_days:
|
|
type: integer
|
|
sentinel_metrics_refresh_rate_seconds:
|
|
type: integer
|
|
sentinel_token:
|
|
type: string
|
|
docker_cleanup_frequency:
|
|
type: string
|
|
docker_cleanup_threshold:
|
|
type: integer
|
|
server_id:
|
|
type: integer
|
|
wildcard_domain:
|
|
type: string
|
|
created_at:
|
|
type: string
|
|
updated_at:
|
|
type: string
|
|
type: object
|
|
Service:
|
|
description: "Service model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: "The unique identifier of the service. Only used for database identification."
|
|
uuid:
|
|
type: string
|
|
description: "The unique identifier of the service."
|
|
name:
|
|
type: string
|
|
description: "The name of the service."
|
|
environment_id:
|
|
type: integer
|
|
description: "The unique identifier of the environment where the service is attached to."
|
|
server_id:
|
|
type: integer
|
|
description: "The unique identifier of the server where the service is running."
|
|
description:
|
|
type: string
|
|
description: "The description of the service."
|
|
docker_compose_raw:
|
|
type: string
|
|
description: "The raw docker-compose.yml file of the service."
|
|
docker_compose:
|
|
type: string
|
|
description: "The docker-compose.yml file that is parsed and modified by Coolify."
|
|
destination_type:
|
|
type: string
|
|
description: "Destination type."
|
|
destination_id:
|
|
type: integer
|
|
description: "The unique identifier of the destination where the service is running."
|
|
connect_to_docker_network:
|
|
type: boolean
|
|
description: "The flag to connect the service to the predefined Docker network."
|
|
is_container_label_escape_enabled:
|
|
type: boolean
|
|
description: "The flag to enable the container label escape."
|
|
is_container_label_readonly_enabled:
|
|
type: boolean
|
|
description: "The flag to enable the container label readonly."
|
|
config_hash:
|
|
type: string
|
|
description: "The hash of the service configuration."
|
|
service_type:
|
|
type: string
|
|
description: "The type of the service."
|
|
created_at:
|
|
type: string
|
|
description: "The date and time when the service was created."
|
|
updated_at:
|
|
type: string
|
|
description: "The date and time when the service was last updated."
|
|
deleted_at:
|
|
type: string
|
|
description: "The date and time when the service was deleted."
|
|
type: object
|
|
Team:
|
|
description: "Team model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: "The unique identifier of the team."
|
|
name:
|
|
type: string
|
|
description: "The name of the team."
|
|
description:
|
|
type: string
|
|
description: "The description of the team."
|
|
personal_team:
|
|
type: boolean
|
|
description: "Whether the team is personal or not."
|
|
created_at:
|
|
type: string
|
|
description: "The date and time the team was created."
|
|
updated_at:
|
|
type: string
|
|
description: "The date and time the team was last updated."
|
|
smtp_enabled:
|
|
type: boolean
|
|
description: "Whether SMTP is enabled or not."
|
|
smtp_from_address:
|
|
type: string
|
|
description: "The email address to send emails from."
|
|
smtp_from_name:
|
|
type: string
|
|
description: "The name to send emails from."
|
|
smtp_recipients:
|
|
type: string
|
|
description: "The email addresses to send emails to."
|
|
smtp_host:
|
|
type: string
|
|
description: "The SMTP host."
|
|
smtp_port:
|
|
type: string
|
|
description: "The SMTP port."
|
|
smtp_encryption:
|
|
type: string
|
|
description: "The SMTP encryption."
|
|
smtp_username:
|
|
type: string
|
|
description: "The SMTP username."
|
|
smtp_password:
|
|
type: string
|
|
description: "The SMTP password."
|
|
smtp_timeout:
|
|
type: string
|
|
description: "The SMTP timeout."
|
|
smtp_notifications_test:
|
|
type: boolean
|
|
description: "Whether to send test notifications via SMTP."
|
|
smtp_notifications_deployments:
|
|
type: boolean
|
|
description: "Whether to send deployment notifications via SMTP."
|
|
smtp_notifications_status_changes:
|
|
type: boolean
|
|
description: "Whether to send status change notifications via SMTP."
|
|
smtp_notifications_scheduled_tasks:
|
|
type: boolean
|
|
description: "Whether to send scheduled task notifications via SMTP."
|
|
smtp_notifications_database_backups:
|
|
type: boolean
|
|
description: "Whether to send database backup notifications via SMTP."
|
|
smtp_notifications_server_disk_usage:
|
|
type: boolean
|
|
description: "Whether to send server disk usage notifications via SMTP."
|
|
discord_enabled:
|
|
type: boolean
|
|
description: "Whether Discord is enabled or not."
|
|
discord_webhook_url:
|
|
type: string
|
|
description: "The Discord webhook URL."
|
|
discord_notifications_test:
|
|
type: boolean
|
|
description: "Whether to send test notifications via Discord."
|
|
discord_notifications_deployments:
|
|
type: boolean
|
|
description: "Whether to send deployment notifications via Discord."
|
|
discord_notifications_status_changes:
|
|
type: boolean
|
|
description: "Whether to send status change notifications via Discord."
|
|
discord_notifications_database_backups:
|
|
type: boolean
|
|
description: "Whether to send database backup notifications via Discord."
|
|
discord_notifications_scheduled_tasks:
|
|
type: boolean
|
|
description: "Whether to send scheduled task notifications via Discord."
|
|
discord_notifications_server_disk_usage:
|
|
type: boolean
|
|
description: "Whether to send server disk usage notifications via Discord."
|
|
show_boarding:
|
|
type: boolean
|
|
description: "Whether to show the boarding screen or not."
|
|
resend_enabled:
|
|
type: boolean
|
|
description: "Whether to enable resending or not."
|
|
resend_api_key:
|
|
type: string
|
|
description: "The resending API key."
|
|
use_instance_email_settings:
|
|
type: boolean
|
|
description: "Whether to use instance email settings or not."
|
|
telegram_enabled:
|
|
type: boolean
|
|
description: "Whether Telegram is enabled or not."
|
|
telegram_token:
|
|
type: string
|
|
description: "The Telegram token."
|
|
telegram_chat_id:
|
|
type: string
|
|
description: "The Telegram chat ID."
|
|
telegram_notifications_test:
|
|
type: boolean
|
|
description: "Whether to send test notifications via Telegram."
|
|
telegram_notifications_deployments:
|
|
type: boolean
|
|
description: "Whether to send deployment notifications via Telegram."
|
|
telegram_notifications_status_changes:
|
|
type: boolean
|
|
description: "Whether to send status change notifications via Telegram."
|
|
telegram_notifications_database_backups:
|
|
type: boolean
|
|
description: "Whether to send database backup notifications via Telegram."
|
|
telegram_notifications_test_message_thread_id:
|
|
type: string
|
|
description: "The Telegram test message thread ID."
|
|
telegram_notifications_deployments_message_thread_id:
|
|
type: string
|
|
description: "The Telegram deployment message thread ID."
|
|
telegram_notifications_status_changes_message_thread_id:
|
|
type: string
|
|
description: "The Telegram status change message thread ID."
|
|
telegram_notifications_database_backups_message_thread_id:
|
|
type: string
|
|
description: "The Telegram database backup message thread ID."
|
|
custom_server_limit:
|
|
type: string
|
|
description: "The custom server limit."
|
|
telegram_notifications_scheduled_tasks:
|
|
type: boolean
|
|
description: "Whether to send scheduled task notifications via Telegram."
|
|
telegram_notifications_scheduled_tasks_thread_id:
|
|
type: string
|
|
description: "The Telegram scheduled task message thread ID."
|
|
members:
|
|
description: "The members of the team."
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/User"
|
|
type: object
|
|
User:
|
|
description: "User model"
|
|
properties:
|
|
id:
|
|
type: integer
|
|
description: "The user identifier in the database."
|
|
name:
|
|
type: string
|
|
description: "The user name."
|
|
email:
|
|
type: string
|
|
description: "The user email."
|
|
email_verified_at:
|
|
type: string
|
|
description: "The date when the user email was verified."
|
|
created_at:
|
|
type: string
|
|
description: "The date when the user was created."
|
|
updated_at:
|
|
type: string
|
|
description: "The date when the user was updated."
|
|
two_factor_confirmed_at:
|
|
type: string
|
|
description: "The date when the user two factor was confirmed."
|
|
force_password_reset:
|
|
type: boolean
|
|
description: "The flag to force the user to reset the password."
|
|
marketing_emails:
|
|
type: boolean
|
|
description: "The flag to receive marketing emails."
|
|
type: object
|
|
responses:
|
|
BadRequest:
|
|
description: "Invalid token."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
type: string
|
|
example: "Invalid token."
|
|
type: object
|
|
Unauthenticated:
|
|
description: Unauthenticated.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
type: string
|
|
example: Unauthenticated.
|
|
type: object
|
|
NotFound:
|
|
description: "Resource not found."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
message:
|
|
type: string
|
|
example: "Resource not found."
|
|
type: object
|
|
securitySchemes:
|
|
bearerAuth:
|
|
type: http
|
|
description: "Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token."
|
|
scheme: bearer
|
|
tags:
|
|
- name: Applications
|
|
description: Applications
|
|
- name: Databases
|
|
description: Databases
|
|
- name: Deployments
|
|
description: Deployments
|
|
- name: Projects
|
|
description: Projects
|
|
- name: Resources
|
|
description: Resources
|
|
- name: "Private Keys"
|
|
description: "Private Keys"
|
|
- name: Servers
|
|
description: Servers
|
|
- name: Services
|
|
description: Services
|
|
- name: Teams
|
|
description: Teams
|