pub struct StackSettings {
pub compute: Option<ComputeSettings>,
pub deployment_model: Option<DeploymentModel>,
pub domains: Option<DomainSettings>,
pub endpoint_access: Option<EndpointAccess>,
pub external_bindings: Option<ExternalBindings>,
pub heartbeats: Option<HeartbeatsMode>,
pub kubernetes: Option<KubernetesSettings>,
pub network: Option<NetworkSettings>,
pub public_endpoints: Option<HashMap<String, HashMap<String, String>>>,
pub telemetry: Option<TelemetryMode>,
pub updates: Option<UpdatesMode>,
}Expand description
User-customizable deployment settings specified at deploy time.
These settings are provided by the customer via CloudFormation parameters, Terraform attributes, CLI flags, or Helm values. They customize how the deployment runs and what capabilities are enabled.
Key distinction: StackSettings is user-customizable, while ManagementConfig is platform-derived (from the Manager’s ServiceAccount).
JSON schema
{
"description": "User-customizable deployment settings specified at deploy time.\n\nThese settings are provided by the customer via CloudFormation parameters,\nTerraform attributes, CLI flags, or Helm values. They customize how the\ndeployment runs and what capabilities are enabled.\n\n**Key distinction**: StackSettings is user-customizable, while ManagementConfig\nis platform-derived (from the Manager's ServiceAccount).",
"type": "object",
"properties": {
"compute": {
"description": "Deployment-time compute selections for Alien-managed compute pools.\n\nThis is where provider machine names such as EC2 instance types, GCE\nmachine types, or Azure VM SKUs belong. Application source should\ndeclare portable requirements instead.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/ComputeSettings"
}
]
}
]
},
"deploymentModel": {
"$ref": "#/components/schemas/DeploymentModel"
},
"domains": {
"description": "Domain configuration (future).",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/DomainSettings"
}
]
}
]
},
"endpointAccess": {
"$ref": "#/components/schemas/EndpointAccess"
},
"externalBindings": {
"description": "External bindings for pre-existing infrastructure.\nAllows using existing resources (MinIO, Redis, shared Container Apps\nEnvironment, etc.) instead of having Alien provision them.\nRequired for Kubernetes platform, optional for cloud platforms.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/ExternalBindings"
}
]
}
]
},
"heartbeats": {
"$ref": "#/components/schemas/HeartbeatsMode"
},
"kubernetes": {
"description": "Kubernetes runtime substrate configuration.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/KubernetesSettings"
}
]
}
]
},
"network": {
"description": "Network configuration for the stack (VPC/VNet settings).\nIf `None`, an isolated VPC with NAT is auto-created when the stack has resources\nthat require networking (e.g., containers). Set explicitly to customize:\n`UseDefault` for the provider's default network (fast, dev/test only),\n`Create` for an isolated VPC with managed NAT (production), or `ByoVpc*`\nto reference an existing customer-managed VPC.",
"oneOf": [
{
"type": "null"
},
{
"allOf": [
{
"$ref": "#/components/schemas/NetworkSettings"
}
]
}
]
},
"publicEndpoints": {
"description": "Exact externally managed endpoint URLs, keyed by resource ID and endpoint name.\n\nThis is intended for adopted Machines deployments whose DNS and certificates remain\ncustomer-owned. The platform passes these URLs to the runtime without creating or\nreplacing DNS records or certificates.",
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"telemetry": {
"$ref": "#/components/schemas/TelemetryMode"
},
"updates": {
"$ref": "#/components/schemas/UpdatesMode"
}
}
}Fields§
§compute: Option<ComputeSettings>Deployment-time compute selections for Alien-managed compute pools.
This is where provider machine names such as EC2 instance types, GCE machine types, or Azure VM SKUs belong. Application source should declare portable requirements instead.
deployment_model: Option<DeploymentModel>§domains: Option<DomainSettings>Domain configuration (future).
endpoint_access: Option<EndpointAccess>§external_bindings: Option<ExternalBindings>External bindings for pre-existing infrastructure. Allows using existing resources (MinIO, Redis, shared Container Apps Environment, etc.) instead of having Alien provision them. Required for Kubernetes platform, optional for cloud platforms.
heartbeats: Option<HeartbeatsMode>§kubernetes: Option<KubernetesSettings>Kubernetes runtime substrate configuration.
network: Option<NetworkSettings>Network configuration for the stack (VPC/VNet settings).
If None, an isolated VPC with NAT is auto-created when the stack has resources
that require networking (e.g., containers). Set explicitly to customize:
UseDefault for the provider’s default network (fast, dev/test only),
Create for an isolated VPC with managed NAT (production), or ByoVpc*
to reference an existing customer-managed VPC.
public_endpoints: Option<HashMap<String, HashMap<String, String>>>Exact externally managed endpoint URLs, keyed by resource ID and endpoint name.
This is intended for adopted Machines deployments whose DNS and certificates remain customer-owned. The platform passes these URLs to the runtime without creating or replacing DNS records or certificates.
telemetry: Option<TelemetryMode>§updates: Option<UpdatesMode>