Skip to main content

DeploymentConfig

Struct DeploymentConfig 

Source
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: 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 Agent 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.

§artifact_registry: Option<ArtifactRegistryConfig>

Artifact registry configuration for pulling container images. Required for Local platform, optional for cloud platforms. When present, the agent will fetch credentials from the agent 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: ExternalBindings

External 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

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 · 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> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

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

Source§

impl<T> ErasedDestructor for T
where T: 'static,