pub struct DeploymentConfig {
pub stack_settings: StackSettings,
pub management_config: Option<ManagementConfig>,
pub environment_variables: EnvironmentVariablesSnapshot,
pub allow_frozen_changes: bool,
pub compute_backend: Option<ComputeBackend>,
pub external_bindings: ExternalBindings,
pub public_urls: Option<HashMap<String, String>>,
pub domain_metadata: Option<DomainMetadata>,
pub monitoring: Option<OtlpConfig>,
pub manager_url: Option<String>,
pub deployment_token: Option<String>,
pub native_image_host: Option<String>,
}Expand description
Deployment configuration
Configuration for how to perform the deployment. Note: Credentials (ClientConfig) are passed separately to step() function.
Fields§
§stack_settings: StackSettingsUser-customizable deployment settings (network, deployment model, approvals). Provided by customer via CloudFormation, Terraform, CLI, or Helm.
management_config: Option<ManagementConfig>Platform service account/role that will manage the infrastructure remotely. Derived from Manager’s ServiceAccount, not user-specified.
environment_variables: EnvironmentVariablesSnapshotEnvironment variables snapshot
allow_frozen_changes: boolAllow frozen resource changes during updates When true, skips the frozen resources compatibility check. This requires running with elevated cloud credentials.
compute_backend: Option<ComputeBackend>Compute backend for Container and Function resources. When None, the platform default is used (Horizon for cloud platforms). Contains cluster IDs and management tokens for container orchestration. Machine tokens are stored in environment_variables as built-in secret vars.
external_bindings: ExternalBindingsExternal bindings for pre-existing services. Required for Kubernetes platform (all infrastructure resources). Optional for cloud platforms (override specific resources).
public_urls: Option<HashMap<String, String>>Public URLs for exposed resources (optional override for all platforms).
- Kubernetes: Pre-computed by Helm from services config (highly recommended)
- Cloud: Optional override of domain_metadata or load balancer DNS
- Local: Optional override of dynamic localhost URLs
If not set, platforms determine public URLs from other sources:
- Cloud: domain_metadata FQDN or load balancer DNS
- Local: http://localhost:{allocated_port}
- Kubernetes: None (unless provided by Helm)
Key: resource ID, Value: public URL (e.g., “https://api.acme.com”)
domain_metadata: Option<DomainMetadata>Domain metadata for auto-managed public resources (AWS/GCP/Azure). Contains certificate data for cloud provider import and renewal detection. Not used by Kubernetes (uses TLS Secrets) or Local (no TLS) platforms.
monitoring: Option<OtlpConfig>OTLP observability configuration for log export (optional).
When set, alien-deployment injects OTEL_EXPORTER_OTLP_* env vars into container/function configs, and alien-infra embeds –otlp-logs-* flags into horizond VM startup scripts.
manager_url: Option<String>Manager base URL (e.g., “https://manager.alien.dev”).
The manager IS the container registry — its /v2/ endpoint serves as
the OCI Distribution API. Controllers derive the proxy host from this
to configure pull auth (RegistryCredentials, imagePullSecrets).
When None (e.g., alien dev), controllers use image URIs as-is.
deployment_token: Option<String>Deployment token for pull authentication with the manager’s registry.
Used by controllers to configure registry credentials so cloud platforms
and K8s can pull images from the manager’s /v2/ endpoint.
native_image_host: Option<String>Native image registry host+prefix for platforms that require it.
Only Lambda (ECR) and Cloud Run (GAR) require native registry URIs. All other platforms pull through the manager’s proxy.
Derived by the manager from the artifact registry binding:
- ECR:
{account_id}.dkr.ecr.{region}.amazonaws.com/{repository_prefix} - GAR:
{region}-docker.pkg.dev/{project_id}/{repository_name}
Implementations§
Source§impl DeploymentConfig
impl DeploymentConfig
Sourcepub fn builder() -> DeploymentConfigBuilder
pub fn builder() -> DeploymentConfigBuilder
Create an instance of DeploymentConfig using the builder syntax
Trait Implementations§
Source§impl Clone for DeploymentConfig
impl Clone for DeploymentConfig
Source§fn clone(&self) -> DeploymentConfig
fn clone(&self) -> DeploymentConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more