8316 lines
373 KiB
JSON
8316 lines
373 KiB
JSON
{
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "The environment UUID. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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."
|
|
},
|
|
"is_http_basic_auth_enabled": {
|
|
"type": "boolean",
|
|
"description": "HTTP Basic Authentication enabled."
|
|
},
|
|
"http_basic_auth_username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Username for HTTP Basic Authentication"
|
|
},
|
|
"http_basic_auth_password": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Password for HTTP Basic Authentication"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Application created successfully.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid",
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "The environment UUID. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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."
|
|
},
|
|
"is_http_basic_auth_enabled": {
|
|
"type": "boolean",
|
|
"description": "HTTP Basic Authentication enabled."
|
|
},
|
|
"http_basic_auth_username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Username for HTTP Basic Authentication"
|
|
},
|
|
"http_basic_auth_password": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Password for HTTP Basic Authentication"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Application created successfully.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid",
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "The environment UUID. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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."
|
|
},
|
|
"is_http_basic_auth_enabled": {
|
|
"type": "boolean",
|
|
"description": "HTTP Basic Authentication enabled."
|
|
},
|
|
"http_basic_auth_username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Username for HTTP Basic Authentication"
|
|
},
|
|
"http_basic_auth_password": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Password for HTTP Basic Authentication"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Application created successfully.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid",
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "The environment UUID. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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."
|
|
},
|
|
"is_http_basic_auth_enabled": {
|
|
"type": "boolean",
|
|
"description": "HTTP Basic Authentication enabled."
|
|
},
|
|
"http_basic_auth_username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Username for HTTP Basic Authentication"
|
|
},
|
|
"http_basic_auth_password": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Password for HTTP Basic Authentication"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Application created successfully.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid",
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "The environment UUID. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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."
|
|
},
|
|
"is_http_basic_auth_enabled": {
|
|
"type": "boolean",
|
|
"description": "HTTP Basic Authentication enabled."
|
|
},
|
|
"http_basic_auth_username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Username for HTTP Basic Authentication"
|
|
},
|
|
"http_basic_auth_password": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Password for HTTP Basic Authentication"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Application created successfully.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid",
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "The environment UUID. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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": {
|
|
"201": {
|
|
"description": "Application created successfully.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"uuid": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"\/applications\/{uuid}\/logs": {
|
|
"get": {
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"summary": "Get application logs.",
|
|
"description": "Get application logs by UUID.",
|
|
"operationId": "get-application-logs-by-uuid",
|
|
"parameters": [
|
|
{
|
|
"name": "uuid",
|
|
"in": "path",
|
|
"description": "UUID of the application.",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
},
|
|
{
|
|
"name": "lines",
|
|
"in": "query",
|
|
"description": "Number of lines to show from the end of the logs.",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"default": 100
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Get application logs by UUID.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"logs": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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_database": {
|
|
"type": "string",
|
|
"description": "Mongo initdb init database"
|
|
},
|
|
"mysql_root_password": {
|
|
"type": "string",
|
|
"description": "MySQL root password"
|
|
},
|
|
"mysql_password": {
|
|
"type": "string",
|
|
"description": "MySQL 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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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_password": {
|
|
"type": "string",
|
|
"description": "MySQL 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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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",
|
|
"environment_uuid"
|
|
],
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "UUID of the environment. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"\/deploy": {
|
|
"get": {
|
|
"tags": [
|
|
"Deployments"
|
|
],
|
|
"summary": "Deploy",
|
|
"description": "Deploy by tag or uuid. `Post` request also accepted with `uuid` and `tag` json body.",
|
|
"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"
|
|
}
|
|
},
|
|
{
|
|
"name": "pr",
|
|
"in": "query",
|
|
"description": "Pull Request Id for deploying specific PR builds. Cannot be used with tag parameter.",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"\/deployments\/applications\/{uuid}": {
|
|
"get": {
|
|
"tags": [
|
|
"Deployments"
|
|
],
|
|
"summary": "List application deployments",
|
|
"description": "List application deployments by using the app uuid",
|
|
"operationId": "list-deployments-by-app-uuid",
|
|
"parameters": [
|
|
{
|
|
"name": "uuid",
|
|
"in": "path",
|
|
"description": "UUID of the application.",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
},
|
|
{
|
|
"name": "skip",
|
|
"in": "query",
|
|
"description": "Number of records to skip.",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"minimum": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "take",
|
|
"in": "query",
|
|
"description": "Number of records to take.",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "integer",
|
|
"default": 10,
|
|
"minimum": 1
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List application deployments by using the app uuid.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#\/components\/schemas\/Application"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"\/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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Update",
|
|
"description": "Update Project.",
|
|
"operationId": "update-project-by-uuid",
|
|
"parameters": [
|
|
{
|
|
"name": "uuid",
|
|
"in": "path",
|
|
"description": "UUID of the project.",
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"\/projects\/{uuid}\/{environment_name_or_uuid}": {
|
|
"get": {
|
|
"tags": [
|
|
"Projects"
|
|
],
|
|
"summary": "Environment",
|
|
"description": "Get environment by name or UUID.",
|
|
"operationId": "get-environment-by-name-or-uuid",
|
|
"parameters": [
|
|
{
|
|
"name": "uuid",
|
|
"in": "path",
|
|
"description": "Project UUID",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "environment_name_or_uuid",
|
|
"in": "path",
|
|
"description": "Environment name or UUID",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Environment details",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"$ref": "#\/components\/schemas\/Environment"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"description": "Private Key not found."
|
|
},
|
|
"422": {
|
|
"description": "Private Key is in use and cannot be deleted.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"example": "Private Key is in use and cannot be deleted."
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"Servers"
|
|
],
|
|
"summary": "Update",
|
|
"description": "Update Server.",
|
|
"operationId": "update-server-by-uuid",
|
|
"parameters": [
|
|
{
|
|
"name": "uuid",
|
|
"in": "path",
|
|
"description": "Server 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": {
|
|
"$ref": "#\/components\/schemas\/Server"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#\/components\/responses\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": [
|
|
"Services"
|
|
],
|
|
"summary": "Create service",
|
|
"description": "Create a one-click \/ custom service",
|
|
"operationId": "create-service",
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"required": [
|
|
"server_uuid",
|
|
"project_uuid",
|
|
"environment_name",
|
|
"environment_uuid"
|
|
],
|
|
"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",
|
|
"kuzzle",
|
|
"listmonk",
|
|
"logto",
|
|
"mediawiki",
|
|
"meilisearch",
|
|
"metabase",
|
|
"metube",
|
|
"minio",
|
|
"moodle",
|
|
"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. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "Environment UUID. You need to provide at least one of environment_name or environment_uuid."
|
|
},
|
|
"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."
|
|
},
|
|
"docker_compose_raw": {
|
|
"type": "string",
|
|
"description": "The Docker Compose raw content."
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "Service created successfully.",
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearerAuth": []
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": [
|
|
"Services"
|
|
],
|
|
"summary": "Update",
|
|
"description": "Update service by UUID.",
|
|
"operationId": "update-service-by-uuid",
|
|
"parameters": [
|
|
{
|
|
"name": "uuid",
|
|
"in": "path",
|
|
"description": "UUID of the service.",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"description": "Service updated.",
|
|
"required": true,
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"required": [
|
|
"server_uuid",
|
|
"project_uuid",
|
|
"environment_name",
|
|
"environment_uuid",
|
|
"docker_compose_raw"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The service name."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The service description."
|
|
},
|
|
"project_uuid": {
|
|
"type": "string",
|
|
"description": "The project UUID."
|
|
},
|
|
"environment_name": {
|
|
"type": "string",
|
|
"description": "The environment name."
|
|
},
|
|
"environment_uuid": {
|
|
"type": "string",
|
|
"description": "The environment UUID."
|
|
},
|
|
"server_uuid": {
|
|
"type": "string",
|
|
"description": "The server UUID."
|
|
},
|
|
"destination_uuid": {
|
|
"type": "string",
|
|
"description": "The destination UUID."
|
|
},
|
|
"instant_deploy": {
|
|
"type": "boolean",
|
|
"description": "The flag to indicate if the service should be deployed instantly."
|
|
},
|
|
"connect_to_docker_network": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Connect the service to the predefined docker network."
|
|
},
|
|
"docker_compose_raw": {
|
|
"type": "string",
|
|
"description": "The Docker Compose raw content."
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Service updated.",
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
},
|
|
"404": {
|
|
"$ref": "#\/components\/responses\/404"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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\/401"
|
|
},
|
|
"400": {
|
|
"$ref": "#\/components\/responses\/400"
|
|
}
|
|
},
|
|
"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."
|
|
},
|
|
"custom_network_aliases": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Network aliases for Docker container."
|
|
},
|
|
"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."
|
|
},
|
|
"is_http_basic_auth_enabled": {
|
|
"type": "boolean",
|
|
"description": "HTTP Basic Authentication enabled."
|
|
},
|
|
"http_basic_auth_username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Username for HTTP Basic Authentication"
|
|
},
|
|
"http_basic_auth_password": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Password for HTTP Basic Authentication"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"resourceable_type": {
|
|
"type": "string"
|
|
},
|
|
"resourceable_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"
|
|
},
|
|
"public_key": {
|
|
"type": "string",
|
|
"description": "The public key of the private key."
|
|
},
|
|
"fingerprint": {
|
|
"type": "string",
|
|
"description": "The fingerprint of the 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."
|
|
},
|
|
"settings": {
|
|
"$ref": "#\/components\/schemas\/ServerSetting"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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."
|
|
},
|
|
"show_boarding": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the boarding screen or not."
|
|
},
|
|
"custom_server_limit": {
|
|
"type": "string",
|
|
"description": "The custom server limit."
|
|
},
|
|
"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": {
|
|
"400": {
|
|
"description": "Invalid token.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"example": "Invalid token."
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthenticated.",
|
|
"content": {
|
|
"application\/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"example": "Unauthenticated."
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"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"
|
|
}
|
|
]
|
|
} |