Skip to content

Create App Hosting Deployment

POST
/deployments/app-hosting
curl --request POST \
--url https://api.mengi.cloud/deployments/app-hosting \
--header 'Content-Type: application/json' \
--data '{ "geographic_region": "example", "deployment_name": "example", "app_type": "helm", "config": {}, "cpu_request": 0.5, "memory_request_mb": 512, "replicas": 1, "container_port": 8080, "environment_variables": [ "example" ], "docker_image": "example", "storage_size_gb": 1, "volumes": [ { "path": "example", "sizeGb": 10, "purpose": "example" } ], "run_as_uid": 1, "deployment_type": "docker", "helm_repo_url": "example", "helm_chart_name": "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", "kubernetes_version": "example" }'

Create a deployment on App Hosting infrastructure.

Each App Hosting deployment gets its own vCluster running on the shared host cluster infrastructure. This provides isolated Kubernetes environments with minimal resource overhead.

This will:

  1. Pick the best available location for the geographic region
  2. Create a vCluster (tier=SHARED) for this deployment
  3. Trigger app-hosting job to provision vCluster + deploy the app
Media type application/json
AppHostingDeploymentCreate

Request for creating an App Hosting deployment on shared infrastructure.

object
geographic_region
required
Geographic Region
string
deployment_name
required
Deployment Name
string
app_type
App Type
string
default: helm
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
environment_variables
Any of:
Array
docker_image
Any of:
string
storage_size_gb
Any of:
integer
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
run_as_uid
Any of:
integer
deployment_type
Deployment Type
string
default: docker
helm_repo_url
Any of:
string
helm_chart_name
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
kubernetes_version
Any of:
string

Successful Response

Media type application/json
DeploymentResponse
object
id
required
Id
string format: uuid
user_id
required
User Id
string format: uuid
cluster_id
required
Cluster Id
string format: uuid
name
required
Name
string
app_type
required
AppType
string
Allowed values: web_app api database static_site container helm
status
required
DeploymentStatus
string
Allowed values: pending provisioning promoting running stopped failed error migrating deleting
config
Any of:
object
key
additional properties
any
values_yaml
Any of:
string
git_path
Any of:
string
endpoint_url
Any of:
string
error_message
Any of:
string
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
deployment_type
Any of:
string
helm_repo_url
Any of:
string
helm_chart_name
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
is_adopted
Is Adopted
boolean
source_namespace
Any of:
string
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
provider
Any of:
string
region
Any of:
string
cluster_status
Any of:
string
cluster_error
Any of:
string
Example
{
"app_type": "web_app",
"status": "pending",
"is_adopted": false
}

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"
}
]
}