Skip to content

Promote Deployment

POST
/deployments/{deployment_id}/promote
curl --request POST \
--url https://api.mengi.cloud/deployments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/promote \
--header 'Content-Type: application/json' \
--data '{ "target_cluster_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "new_name": "example", "delete_source": false, "overrides": { "name": "example", "config": {}, "cpu_request": 1, "memory_request_mb": 1, "replicas": 1, "container_port": 1, "storage_size_gb": 1, "environment_variables": [ { "name": "example", "value": "example", "secret_ref": "example" } ], "docker_image": "example", "volumes": [ { "path": "example", "sizeGb": 10, "purpose": "example" } ], "helm_chart_version": "example", "custom_values_yaml": "example", "image_update_strategy": "example", "image_update_constraint": "example", "image_allow_tags": "example", "image_ignore_tags": "example" } }'

Promote/migrate a deployment to another cluster.

This copies the deployment configuration to a new cluster without migrating any state or persistent data. The new deployment will start fresh on the target cluster.

The promotion is performed asynchronously by the worker. The new deployment is created with PROMOTING status and will transition to RUNNING when complete.

Use cases:

  • Shared vCluster → Dedicated cluster (scaling up)
  • Dedicated cluster → Dedicated cluster (region/provider change)
  • Dedicated cluster → Shared vCluster (scaling down for cost savings)
deployment_id
required
Deployment Id
string format: uuid
Media type application/json
DeploymentPromotionRequest

Request to promote/migrate a deployment to another cluster.

object
target_cluster_id
required
Target Cluster Id
string format: uuid
new_name
Any of:
string
delete_source
Delete Source
boolean
overrides
Any of:
DeploymentUpdate
object
name
Any of:
string
config
Any of:
object
key
additional properties
any
cpu_request
Any of:
number
memory_request_mb
Any of:
integer
replicas
Any of:
integer
container_port
Any of:
integer
storage_size_gb
Any of:
integer
environment_variables
Any of:
Array<object>
EnvironmentVariable

Environment variable configuration.

object
name
required
Name
string
value
Any of:
string
secret_ref
Any of:
string
docker_image
Any of:
string
volumes
Any of:
Array<object>
VolumeConfig

Volume configuration for persistent storage.

object
path
required
Path
string
sizeGb
Sizegb
integer
default: 10
purpose
Any of:
string
helm_chart_version
Any of:
string
custom_values_yaml
Any of:
string
image_update_strategy
Any of:
string
image_update_constraint
Any of:
string
image_allow_tags
Any of:
string
image_ignore_tags
Any of:
string

Successful Response

Media type application/json
DeploymentPromotionResponse

Response after promoting a deployment.

object
source_deployment_id
required
Source Deployment Id
string format: uuid
new_deployment_id
required
New Deployment Id
string format: uuid
target_cluster_id
required
Target Cluster Id
string format: uuid
source_deleted
required
Source Deleted
boolean
message
required
Message
string
Example generated
{
"source_deployment_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"new_deployment_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"target_cluster_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"source_deleted": true,
"message": "example"
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}