Skip to main content

DeploymentConfigBuilder

Struct DeploymentConfigBuilder 

Source
pub struct DeploymentConfigBuilder<S: State = Empty> { /* private fields */ }
Expand description

Use builder syntax to set the inputs and finish with build().

Implementations§

Source§

impl<S: State> DeploymentConfigBuilder<S>

Source

pub fn build(self) -> DeploymentConfig
where S: IsComplete,

Finish building and return the requested object

Source

pub fn deployment_name( self, value: String, ) -> DeploymentConfigBuilder<SetDeploymentName<S>>
where S::DeploymentName: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn maybe_deployment_name( self, value: Option<String>, ) -> DeploymentConfigBuilder<SetDeploymentName<S>>
where S::DeploymentName: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn stack_settings( self, value: StackSettings, ) -> DeploymentConfigBuilder<SetStackSettings<S>>
where S::StackSettings: IsUnset,

Required.

User-customizable deployment settings (network, deployment model, approvals). Provided by customer via CloudFormation, Terraform, CLI, or Helm.

Source

pub fn management_config( self, value: ManagementConfig, ) -> DeploymentConfigBuilder<SetManagementConfig<S>>
where S::ManagementConfig: IsUnset,

Optional (Some / Option setters). Platform service account/role that will manage the infrastructure remotely. Derived from Manager’s ServiceAccount, not user-specified.

Source

pub fn maybe_management_config( self, value: Option<ManagementConfig>, ) -> DeploymentConfigBuilder<SetManagementConfig<S>>
where S::ManagementConfig: IsUnset,

Optional (Some / Option setters). Platform service account/role that will manage the infrastructure remotely. Derived from Manager’s ServiceAccount, not user-specified.

Source

pub fn environment_variables( self, value: EnvironmentVariablesSnapshot, ) -> DeploymentConfigBuilder<SetEnvironmentVariables<S>>
where S::EnvironmentVariables: IsUnset,

Required.

Environment variables snapshot

Source

pub fn allow_frozen_changes( self, value: bool, ) -> DeploymentConfigBuilder<SetAllowFrozenChanges<S>>
where S::AllowFrozenChanges: IsUnset,

Required.

Allow frozen resource changes during updates When true, skips the frozen resources compatibility check. This requires running with elevated cloud credentials.

Source

pub fn compute_backend( self, value: ComputeBackend, ) -> DeploymentConfigBuilder<SetComputeBackend<S>>
where S::ComputeBackend: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn maybe_compute_backend( self, value: Option<ComputeBackend>, ) -> DeploymentConfigBuilder<SetComputeBackend<S>>
where S::ComputeBackend: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn external_bindings( self, value: ExternalBindings, ) -> DeploymentConfigBuilder<SetExternalBindings<S>>
where S::ExternalBindings: IsUnset,

Required.

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

Source

pub fn base_platform( self, value: Platform, ) -> DeploymentConfigBuilder<SetBasePlatform<S>>
where S::BasePlatform: IsUnset,

Optional (Some / Option setters). Cloud platform that owns imported base infrastructure for a Kubernetes runtime deployment.

Source

pub fn maybe_base_platform( self, value: Option<Platform>, ) -> DeploymentConfigBuilder<SetBasePlatform<S>>
where S::BasePlatform: IsUnset,

Optional (Some / Option setters). Cloud platform that owns imported base infrastructure for a Kubernetes runtime deployment.

Source

pub fn public_urls( self, value: HashMap<String, String>, ) -> DeploymentConfigBuilder<SetPublicUrls<S>>
where S::PublicUrls: IsUnset,

Optional (Some / Option setters). 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”)

Source

pub fn maybe_public_urls( self, value: Option<HashMap<String, String>>, ) -> DeploymentConfigBuilder<SetPublicUrls<S>>
where S::PublicUrls: IsUnset,

Optional (Some / Option setters). 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”)

Source

pub fn domain_metadata( self, value: DomainMetadata, ) -> DeploymentConfigBuilder<SetDomainMetadata<S>>
where S::DomainMetadata: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn maybe_domain_metadata( self, value: Option<DomainMetadata>, ) -> DeploymentConfigBuilder<SetDomainMetadata<S>>
where S::DomainMetadata: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn monitoring( self, value: OtlpConfig, ) -> DeploymentConfigBuilder<SetMonitoring<S>>
where S::Monitoring: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn maybe_monitoring( self, value: Option<OtlpConfig>, ) -> DeploymentConfigBuilder<SetMonitoring<S>>
where S::Monitoring: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn manager_url( self, value: String, ) -> DeploymentConfigBuilder<SetManagerUrl<S>>
where S::ManagerUrl: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn maybe_manager_url( self, value: Option<String>, ) -> DeploymentConfigBuilder<SetManagerUrl<S>>
where S::ManagerUrl: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn deployment_token( self, value: String, ) -> DeploymentConfigBuilder<SetDeploymentToken<S>>
where S::DeploymentToken: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn maybe_deployment_token( self, value: Option<String>, ) -> DeploymentConfigBuilder<SetDeploymentToken<S>>
where S::DeploymentToken: IsUnset,

Optional (Some / Option setters). 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.

Source

pub fn native_image_host( self, value: String, ) -> DeploymentConfigBuilder<SetNativeImageHost<S>>
where S::NativeImageHost: IsUnset,

Optional (Some / Option setters). 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}
Source

pub fn maybe_native_image_host( self, value: Option<String>, ) -> DeploymentConfigBuilder<SetNativeImageHost<S>>
where S::NativeImageHost: IsUnset,

Optional (Some / Option setters). 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}

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> 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, 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