pub struct DeploymentConfig {
pub stack_settings: StackSettings,
pub management_config: Option<ManagementConfig>,
pub environment_variables: EnvironmentVariablesSnapshot,
pub allow_frozen_changes: bool,
pub artifact_registry: Option<ArtifactRegistryConfig>,
pub compute_backend: Option<ComputeBackend>,
pub external_bindings: ExternalBindings,
pub image_pull_credentials: Option<ImagePullCredentials>,
pub public_urls: Option<HashMap<String, String>>,
pub domain_metadata: Option<DomainMetadata>,
pub monitoring: Option<OtlpConfig>,
}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.
artifact_registry: Option<ArtifactRegistryConfig>Artifact registry configuration for pulling container images. Required for Local platform, optional for cloud platforms. When present, the deployment will fetch credentials from the manager before pulling images, enabling centralized registry access control.
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).
image_pull_credentials: Option<ImagePullCredentials>Image pull credentials for private container registries. Used when pulling images from registries that require authentication.
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.
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