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

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

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 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 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”)

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 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”)

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

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

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 alien-infra embeds –otlp-logs-* flags into horizond VM startup scripts.

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 alien-infra embeds –otlp-logs-* flags into horizond VM startup scripts.

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.

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

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}

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