Skip to main content

DeploymentConfig

Struct DeploymentConfig 

Source
pub struct DeploymentConfig {
Show 14 fields pub deployment_name: Option<String>, 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 base_platform: Option<Platform>, 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§

§deployment_name: Option<String>

Human-readable deployment name for cloud console metadata.

This is separate from the physical resource prefix in StackState. It is used only for display text such as IAM role descriptions, service account descriptions, and custom role titles.

§stack_settings: StackSettings

User-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: EnvironmentVariablesSnapshot

Environment variables snapshot

§allow_frozen_changes: bool

Allow 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 Worker resources. When None, the platform default is used for cloud platforms. Contains cluster IDs and management tokens for container orchestration. Worker runtime credentials are provided through cloud identity and vault-backed secrets.

§external_bindings: ExternalBindings

External bindings for pre-existing services. Required for Kubernetes platform (all infrastructure resources). Optional for cloud platforms (override specific resources).

§base_platform: Option<Platform>

Cloud platform that owns imported base infrastructure for a Kubernetes runtime deployment.

§public_urls: Option<HashMap<String, String>>

Public URLs for exposed resources (optional override).

Use this only when a caller already knows the public URL. Managed public endpoint flows should prefer domain_metadata plus controller-reported load balancer outputs so DNS, certificate renewal, and route readiness stay tied to the resource state.

If not set, platforms determine public URLs from other sources:

  • Managed DNS/TLS flows: domain_metadata FQDN or load balancer DNS
  • Local: http://localhost:{allocated_port}
  • Custom or disabled exposure: no public URL unless a controller reports one

Key: resource ID, Value: public URL (e.g., “https://api.acme.com”)

§domain_metadata: Option<DomainMetadata>

Domain metadata for auto-managed public resources.

Contains generated hostnames, DNS record state, certificate material, and renewal markers for platforms that use managed public endpoints. Kubernetes uses this only when its exposure mode is generated; BYO and disabled Kubernetes exposure do not receive managed domain metadata.

§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 worker-template stamping passes the monitoring endpoints to worker images.

§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.

Lambda (ECR) and Cloud Run (GAR) require native registry URIs. Other runtimes, including Azure Container Apps, pull through the manager’s registry 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

Source

pub fn builder() -> DeploymentConfigBuilder

Create an instance of DeploymentConfig using the builder syntax

Trait Implementations§

Source§

impl Clone for DeploymentConfig

Source§

fn clone(&self) -> DeploymentConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DeploymentConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DeploymentConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for DeploymentConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,