Create a blue/green deployment
POST
/api/docker/nodes/{nodeId}/deployments
const url = 'https://gateway.example.com/api/docker/nodes/550e8400-e29b-41d4-a716-446655440000/deployments';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","image":"example","registryId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","routes":[{"hostPort":1,"containerPort":1,"isPrimary":false}],"health":{},"drainSeconds":30,"routerImage":"nginx:alpine","env":{"additionalProperty":"example"},"mounts":[{"hostPath":"example","containerPath":"example","name":"example","readOnly":false}],"command":["example"],"entrypoint":["example"],"workingDir":"example","user":"example","labels":{"additionalProperty":"example"},"restartPolicy":"no","runtimeProfile":"default","runtime":{"additionalProperty":"example"},"gpu":{"deviceIds":["example"]}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://gateway.example.com/api/docker/nodes/550e8400-e29b-41d4-a716-446655440000/deployments \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "image": "example", "registryId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "routes": [ { "hostPort": 1, "containerPort": 1, "isPrimary": false } ], "health": {}, "drainSeconds": 30, "routerImage": "nginx:alpine", "env": { "additionalProperty": "example" }, "mounts": [ { "hostPath": "example", "containerPath": "example", "name": "example", "readOnly": false } ], "command": [ "example" ], "entrypoint": [ "example" ], "workingDir": "example", "user": "example", "labels": { "additionalProperty": "example" }, "restartPolicy": "no", "runtimeProfile": "default", "runtime": { "additionalProperty": "example" }, "gpu": { "deviceIds": [ "example" ] } }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”nodeId
required
string
Example
550e8400-e29b-41d4-a716-446655440000Request Bodyrequired
Section titled “Request Bodyrequired”JSON request body
Media typeapplication/json
object
name
required
string
image
required
string
registryId
string format: uuid
routes
required
Array<object>
object
hostPort
required
integer
containerPort
required
integer
isPrimary
boolean
health
object
path
string
statusMin
integer
statusMax
integer
timeoutSeconds
integer
intervalSeconds
integer
successThreshold
integer
startupGraceSeconds
integer
deployTimeoutSeconds
integer
drainSeconds
integer
routerImage
string
env
object
key
additional properties
string
mounts
Array<object>
object
hostPath
string
containerPath
required
string
name
string
readOnly
boolean
command
Array<string>
entrypoint
Array<string>
workingDir
string
user
string
labels
object
key
additional properties
string
restartPolicy
string
runtimeProfile
string
runtime
object
key
additional properties
gpu
object
deviceIds
required
Array<string>
Responses
Section titled “Responses”Created
Media typeapplication/json
object
data
required
Resource object. Exact fields depend on the endpoint.
object
id
string
name
string
key
additional properties
Example
{ "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "api", "image": "registry.example.com/api:1.2.3", "activeColor": "blue", "status": "running" }}Bad request
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}