Skip to main content

Crate alien_core

Crate alien_core 

Source

Re-exports§

pub use permissions::*;
pub use runtime_environment::*;
pub use events::*;
pub use app_events::*;
pub use bindings::*;
pub use presigned::*;
pub use commands_types::*;
pub use import::*;

Modules§

app_events
Application Events
bindings
Type-safe binding parameter definitions
commands_types
crontab_to_eventbridge
debug_session
Wire shapes for alien debug sessions.
embedded_config
Embedded configuration support for alien-deploy-cli and alien-agent binaries.
events
Alien Events System
file_utils
image_rewrite
Image URI utilities for the registry proxy.
import
Typed setup import contract.
instance_catalog
Instance type catalog and selection algorithm for cloud compute infrastructure.
permissions
Defines core permission types and structures used across Alien Infra.
presigned
runtime_environment
sync
Sync protocol types for agent ↔ manager communication.

Structs§

AgentStatus
Status of a single agent in the dev server
ArtifactRegistry
Represents an artifact registry for storing container images and other build artifacts. This is a high-level wrapper resource that provides a cloud-agnostic interface over AWS ECR, GCP Artifact Registry, and Azure Container Registry.
ArtifactRegistryBuilder
Use builder syntax to set the inputs and finish with build().
ArtifactRegistryHeartbeatStatus
ArtifactRegistryOutputs
Outputs generated by a successfully provisioned ArtifactRegistry.
AwsClientConfig
AWS client configuration
AwsCodeBuildHeartbeatData
AwsComputeClusterHeartbeatData
AwsCustomCertificateConfig
AwsDaemonHeartbeatData
AwsDynamoDbKeySchemaElement
AwsDynamoDbKvHeartbeatData
AwsEcrArtifactRegistryHeartbeatData
AwsEcrRepositoryHeartbeatData
AwsEnvironmentInfo
AWS-specific environment information
AwsIamRoleServiceAccountHeartbeatData
AwsImpersonationConfig
Configuration for AWS role impersonation
AwsLambdaWorkerHeartbeatData
AwsManagementConfig
AWS management configuration extracted from stack settings
AwsParameterStoreVaultHeartbeatData
AwsRemoteStackManagementHeartbeatData
AwsS3StorageHeartbeatData
AwsServiceOverrides
Service endpoint overrides for testing AWS services
AwsSqsQueueHeartbeatData
AwsVpcNetworkHeartbeatData
AwsWebIdentityConfig
Configuration for AWS Web Identity Token authentication
AzureBlobStorageHeartbeatData
AzureClientConfig
Azure client configuration
AzureComputeClusterHeartbeatData
AzureContainerAppsBuildHeartbeatData
AzureContainerAppsEnvironment
Represents an Azure Container Apps Environment for hosting container applications.
AzureContainerAppsEnvironmentBuilder
Use builder syntax to set the inputs and finish with build().
AzureContainerAppsEnvironmentHeartbeatData
AzureContainerAppsEnvironmentHeartbeatStatus
AzureContainerAppsEnvironmentOutputs
Outputs generated by a successfully provisioned Azure Container Apps Environment.
AzureContainerAppsEnvironmentWorkloadProfile
AzureContainerAppsWorkerHeartbeatData
AzureContainerRegistryHeartbeatData
AzureCustomCertificateConfig
AzureDaemonHeartbeatData
AzureEnvironmentInfo
Azure-specific environment information
AzureImpersonationConfig
Configuration for Azure managed identity impersonation
AzureKeyVaultHeartbeatData
AzureManagedIdentityServiceAccountHeartbeatData
AzureManagementConfig
Azure management configuration extracted from stack settings
AzureRemoteStackManagementHeartbeatData
AzureResourceGroup
Represents an Azure Resource Group that acts as a logical container for Azure resources.
AzureResourceGroupBuilder
Use builder syntax to set the inputs and finish with build().
AzureResourceGroupHeartbeatData
AzureResourceGroupHeartbeatStatus
AzureResourceGroupOutputs
Outputs generated by a successfully provisioned Azure Resource Group.
AzureResourceProviderActivationHeartbeatData
AzureServiceBusNamespace
Represents an Azure Service Bus Namespace for hosting queues and topics.
AzureServiceBusNamespaceBuilder
Use builder syntax to set the inputs and finish with build().
AzureServiceBusNamespaceHeartbeatData
AzureServiceBusNamespaceOutputs
Outputs generated by a successfully provisioned Azure Service Bus Namespace.
AzureServiceBusQueueHeartbeatData
AzureServiceOverrides
Service endpoint overrides for testing Azure services
AzureStorageAccount
Represents an Azure Storage Account for blob, file, table, and queue storage.
AzureStorageAccountBuilder
Use builder syntax to set the inputs and finish with build().
AzureStorageAccountEndpoints
AzureStorageAccountHeartbeatData
AzureStorageAccountOutputs
Outputs generated by a successfully provisioned Azure Storage Account.
AzureTableKvHeartbeatData
AzureVnetNetworkHeartbeatData
Build
Represents a build resource that executes bash scripts to build code. Builds are designed to be stateless and can be triggered on-demand to compile, test, or package application code.
BuildBuilder
Use builder syntax to set the inputs and finish with build().
BuildConfig
Configuration for starting a build.
BuildExecution
Information about a build execution.
BuildHeartbeatStatus
BuildOutputs
Outputs generated by a successfully provisioned Build.
CapacityGroup
Capacity group definition.
CapacityGroupStatus
Status of a single capacity group within a ComputeCluster.
ComputeCapacityBlocker
ComputeCapacityGroupStatus
ComputeCapacityRecommendation
ComputeCluster
ComputeCluster resource for running long-running container workloads.
ComputeClusterBuilder
Use builder syntax to set the inputs and finish with build().
ComputeClusterHeartbeatStatus
ComputeClusterOutputs
Outputs generated by a successfully provisioned ComputeCluster.
Container
Container resource for running long-running container workloads.
ContainerAutoscaling
Autoscaling configuration for stateless containers.
ContainerBuilder
Use builder syntax to set the inputs and finish with build().
ContainerGpuSpec
GPU specification for a container.
ContainerOutputs
Outputs generated by a successfully provisioned Container.
ContainerPort
Container port configuration.
CustomCertificateConfig
Platform-specific certificate references for custom domains.
CustomDomainConfig
Custom domain configuration for a single resource.
Daemon
DaemonBuilder
Use builder syntax to set the inputs and finish with build().
DaemonOutputs
DeploymentConfig
Deployment configuration
DeploymentConfigBuilder
Use builder syntax to set the inputs and finish with build().
DeploymentState
Deployment state
DeploymentStateBuilder
Use builder syntax to set the inputs and finish with build().
DeploymentStepResult
Result of a deployment step
DevResourceInfo
Information about a deployed resource
DevStatus
Overall status of the dev server
DomainMetadata
Domain metadata for auto-managed public resources (no private keys).
DomainSettings
Domain configuration for the stack.
EnvironmentVariable
Environment variable for deployment
EnvironmentVariablesSnapshot
Snapshot of environment variables at a point in time
ExternalBindings
Map from resource ID to external binding.
GcpArtifactRegistryHeartbeatData
GcpClientConfig
GCP client configuration
GcpCloudBuildHeartbeatData
GcpCloudRunWorkerHeartbeatData
GcpCloudStorageHeartbeatData
GcpComputeClusterHeartbeatData
GcpCustomCertificateConfig
GcpDaemonHeartbeatData
GcpEnvironmentInfo
GCP-specific environment information
GcpFirestoreKvHeartbeatData
GcpImpersonationConfig
Configuration for GCP service account impersonation
GcpManagementConfig
GCP management configuration extracted from stack settings
GcpPubSubQueueHeartbeatData
GcpRemoteStackManagementHeartbeatData
GcpSecretManagerVaultHeartbeatData
GcpServiceAccountHeartbeatData
GcpServiceOverrides
Service endpoint overrides for testing GCP services
GcpServiceUsageActivationHeartbeatData
GcpVpcNetworkHeartbeatData
GpuSpec
GPU specification for a capacity group.
HealthCheck
HTTP health check configuration.
HeartbeatCollectionIssue
HorizonAwsMachineImages
AWS Horizon machine image catalog.
HorizonAzureMachineImage
Azure Horizon machine image entry.
HorizonAzureMachineImages
Azure Horizon machine image catalog.
HorizonClusterConfig
Configuration for a single container worker cluster.
HorizonConfig
Horizon control-plane configuration for container orchestration.
HorizonContainerHeartbeatData
HorizonGcpMachineImage
GCP Horizon machine image entry.
HorizonGcpMachineImages
GCP Horizon machine image catalog.
HorizonMachineBaseImage
Base image metadata for the Horizon machine image.
HorizonMachineImage
Horizon machine image catalog.
IdConfig
Configuration for ID generation
KubernetesBuildHeartbeatData
KubernetesCloudReference
Optional provider-specific identity for a cloud-backed Kubernetes cluster.
KubernetesCluster
Runtime substrate for Kubernetes deployments.
KubernetesClusterBuilder
Use builder syntax to set the inputs and finish with build().
KubernetesClusterHeartbeatData
KubernetesClusterNodeStatus
KubernetesClusterOutputs
Outputs produced once the Kubernetes substrate is ready for workloads.
KubernetesClusterSettings
Kubernetes cluster setup settings.
KubernetesContainerHeartbeatData
KubernetesCustomCertificateConfig
KubernetesDaemonHeartbeatData
KubernetesEventInvolvedObject
KubernetesEventSnapshot
KubernetesEventSource
KubernetesGatewayRouteProfile
Shared Gateway API route profile values.
KubernetesIngressRouteProfile
Shared Ingress route profile values.
KubernetesNodeConditionStatus
KubernetesNodeResources
KubernetesNodeUsage
KubernetesOwnerReference
KubernetesPodRuntimeUnitStatus
KubernetesSecretVaultHeartbeatData
KubernetesSettings
Kubernetes runtime substrate configuration.
KubernetesTlsSecretRef
Namespace-scoped Kubernetes TLS Secret reference.
KubernetesWorkerHeartbeatData
KubernetesWorkloadCondition
KubernetesWorkloadStatus
Kv
Represents a key-value storage resource that provides a minimal, platform-agnostic API compatible across DynamoDB, Firestore, Redis, and Azure Table Storage.
KvBuilder
Use builder syntax to set the inputs and finish with build().
KvHeartbeatStatus
KvOutputs
Outputs generated by a successfully provisioned KV store.
LifecycleRule
Defines a rule for managing the lifecycle of objects within a storage bucket.
LoadBalancerEndpoint
Load balancer endpoint information for DNS management. This is optional metadata used by the DNS controller to create domain mappings.
LocalArtifactRegistryHeartbeatData
LocalComputeClusterHeartbeatData
LocalContainerHeartbeatData
LocalDaemonHeartbeatData
LocalEnvironmentInfo
Local platform environment information
LocalKvHeartbeatData
LocalQueueHeartbeatData
LocalRuntimeEventSnapshot
LocalRuntimeEventSubject
LocalRuntimeUnitStatus
LocalServiceAccountHeartbeatData
LocalStorageHeartbeatData
LocalVaultHeartbeatData
LocalWorkerHeartbeatData
MachineProfile
Machine resource profile for a capacity group.
ManagedDomainInfo
Certificate and DNS metadata for a managed hostname.
ManagedRuntimeEventInvolvedObject
ManagedRuntimeEventSnapshot
ManagedRuntimeEventSource
ManagedRuntimeUnitStatus
MetricSample
MonitoringConfig
Configuration for monitoring and observability.
NamedResourceDetail
Network
Represents cloud-agnostic networking infrastructure (VPC, VNet, subnets, etc.).
NetworkBuilder
Use builder syntax to set the inputs and finish with build().
NetworkHeartbeatStatus
NetworkOutputs
Outputs generated by a successfully provisioned Network.
ObservedCounts
OtlpConfig
OTLP log export configuration for a deployment.
PersistentStorage
Persistent storage configuration for stateful containers.
ProviderFleetStatus
Queue
Represents a message queue resource with minimal, portable semantics. Queue integrates with platform-native services (AWS SQS, GCP Pub/Sub, Azure Service Bus).
QueueBuilder
Use builder syntax to set the inputs and finish with build().
QueueHeartbeatStatus
QueueOutputs
Outputs generated by a successfully provisioned Queue.
RawHeartbeatSnippet
ReadinessProbe
Configuration for HTTP-based readiness probe. This probe is executed after worker provisioning/update to verify the worker is ready to serve traffic. Only works with workers that have Public ingress.
ReleaseInfo
Release metadata
RemoteStackManagement
Represents cross-account management access configuration for a stack deployed on AWS, GCP, or Azure platforms. This resource sets up the necessary IAM/RBAC configuration to allow another cloud account to manage the stack.
RemoteStackManagementBuilder
Use builder syntax to set the inputs and finish with build().
RemoteStackManagementHeartbeatStatus
RemoteStackManagementOutputs
Resource outputs for RemoteStackManagement. Different platforms will provide different outputs based on their implementation.
ReplicaStatus
Status of a single container replica.
Resource
ResourceDomainInfo
Certificate and DNS metadata for a public resource.
ResourceEntry
ResourceHeartbeat
ResourceOutputs
New Resource outputs wrapper that can hold any ResourceOutputsDefinition. This replaces the old ResourceOutputs enum to enable runtime extensibility.
ResourceOwnershipPolicy
ResourceRef
New ResourceRef that works with any resource type. This can eventually replace the enum-based ResourceRef for full extensibility.
ResourceSpec
Resource specification with min/desired values.
ResourceType
Type alias for resource type identifiers
RuntimeMetadata
Runtime metadata for deployment
ServiceAccount
Represents a non-human identity that can be assumed by compute services such as Lambda, Cloud Run, ECS, Container Apps, etc.
ServiceAccountBuilder
Use builder syntax to set the inputs and finish with build().
ServiceAccountHeartbeatStatus
ServiceAccountOutputs
Outputs generated by a successfully provisioned ServiceAccount.
ServiceActivation
Represents a service activation that can be enabled on cloud platforms. For GCP: enables project services (e.g., iam.googleapis.com, compute.googleapis.com). For Azure: registers resource providers (e.g., Microsoft.DocumentDB, Microsoft.Storage).
ServiceActivationBuilder
Use builder syntax to set the inputs and finish with build().
ServiceActivationHeartbeatStatus
ServiceActivationOutputs
Outputs generated by a successfully activated service.
Stack
A bag of resources, unaware of any cloud.
StackBuilder
Use builder syntax to set the inputs and finish with build().
StackResourceState
Represents the state of a single resource within the stack for a specific platform.
StackResourceStateBuilder
Use builder syntax to set the inputs and finish with build().
StackSettings
User-customizable deployment settings specified at deploy time.
StackState
Represents the collective state of all resources in a stack, including platform and pending actions.
Storage
Represents an object storage bucket.
StorageBuilder
Use builder syntax to set the inputs and finish with build().
StorageHeartbeatStatus
StorageOutputs
Outputs generated by a successfully provisioned Storage bucket.
TestEnvironmentInfo
Test platform environment information (mock)
Vault
Represents a secure vault for storing secrets. This resource provides a platform-agnostic interface over cloud-native secret management services:
VaultBuilder
Use builder syntax to set the inputs and finish with build().
VaultHeartbeatStatus
VaultOutputs
Outputs generated by a successfully provisioned Vault.
Worker
Represents a serverless worker that executes code in response to triggers or direct invocations. Workers are the primary compute resource in serverless applications, designed to be stateless and ephemeral.
WorkerBuilder
Use builder syntax to set the inputs and finish with build().
WorkerOutputs
Outputs generated by a successfully provisioned Worker.
WorkloadHeartbeatStatus
WorkloadReplicaStatus

Enums§

ArtifactRegistryHeartbeatData
AwsCredentials
Supported AWS authentication methods
AzureCredentials
Represents Azure authentication credentials
BinaryTarget
Target OS and architecture for compiled binaries.
BindingsMode
How bindings are delivered to the application
BuildHeartbeatData
BuildStatus
Status of a build execution.
CargoBuildStrategy
Build strategy for cross-compilation.
CertificateStatus
Certificate status in the certificate lifecycle
ClientConfig
Configuration for different cloud platform clients
ComputeBackend
Compute backend for Container and Worker resources.
ComputeCapacityBlockerCategory
ComputeClusterHeartbeatData
ComputeType
Compute type for build resources.
ContainerCode
Specifies the source of the container’s executable code.
ContainerHeartbeatData
ContainerStatus
Container status in the managed container backend.
DaemonCode
DaemonHeartbeatData
DeploymentModel
Deployment model: how updates are delivered to the remote environment.
DeploymentStatus
Deployment status in the deployment lifecycle
DevStatusState
Overall dev server status
DnsRecordStatus
DNS record status in the DNS lifecycle
EnvironmentInfo
Platform-specific environment information
EnvironmentVariableType
Type of environment variable
ErrorData
Core error data exposed by the alien-core crate.
ExposeProtocol
Protocol for exposed ports.
ExternalBinding
Represents a binding to pre-existing infrastructure.
GcpCredentials
Authentication options for talking to GCP APIs.
HeartbeatBackend
HeartbeatCollectionIssueReason
HeartbeatIssueSeverity
HeartbeatsMode
How heartbeat health checks are handled.
HorizonMachineArchitecture
Horizon machine image architecture.
HorizonWorkloadSchedulingMode
HttpMethod
HTTP method for readiness probe requests.
IdType
Defines different ID types with their configuration
ImpersonationConfig
Cloud-agnostic impersonation configuration
Ingress
Controls network accessibility of the worker.
KubernetesCertificateMode
Certificate publication or reference mode for Kubernetes public endpoints.
KubernetesClientConfig
Configuration mode for Kubernetes access
KubernetesClusterOwnership
Ownership model for the Kubernetes cluster.
KubernetesClusterProvider
Kubernetes provider backing the runtime substrate.
KubernetesExposureSettings
Kubernetes public HTTPS exposure mode.
KubernetesHeartbeatMode
How Alien should heartbeat this Kubernetes substrate.
KubernetesRouteProfile
Kubernetes route API selected for public endpoints.
KubernetesRouteProviderOptions
Provider-specific route options required by supported managed profiles.
KubernetesWorkloadKind
KvHeartbeatData
LocalRuntimeUnitKind
ManagementConfig
Management configuration for different cloud platforms.
MetricUnit
NetworkHeartbeatData
NetworkSettings
Network configuration for the stack.
ObservedHealth
Platform
Represents the target cloud platform.
ProviderLifecycleState
QueueHeartbeatData
RawHeartbeatSnippetFormat
RemoteStackManagementHeartbeatData
ResourceHeartbeatData
ResourceLifecycle
Describes the lifecycle of a resource within a stack, determining how it’s managed and deployed.
ResourceStatus
Represents the high-level status of a resource during its lifecycle.
ServiceAccountHeartbeatData
ServiceActivationHeartbeatData
SourceBinaryType
Types of source binaries used for package building
StackRef
Reference to a stack for management permissions
StackStatus
Represents the overall status of a stack based on its resource states.
StorageHeartbeatData
TelemetryMode
How telemetry (logs, metrics, traces) is handled.
ToolchainConfig
Configuration for different programming language toolchains. Each toolchain provides type-safe build configuration and auto-detection capabilities.
UpdatesMode
How updates are delivered to the deployment.
VaultHeartbeatData
WorkerCode
Specifies the source of the worker’s executable code. This can be a pre-built container image or source code that the system will build.
WorkerHeartbeatData
WorkerTrigger
Defines what triggers a worker execution.

Constants§

ALIEN_MANAGED_BY_TAG_KEY
ALIEN_MANAGED_BY_TAG_VALUE
ALIEN_RESOURCE_TAG_KEY
ALIEN_STACK_TAG_KEY
ALPHABET_LOWERCASE
ALPHABET_MIXED_CASE
CURRENT_DEPLOYMENT_PROTOCOL_VERSION
Deployment protocol version this binary writes. Bump when making incompatible changes to DeploymentState semantics.
DEPLOYMENT_PROTOCOL_VERSION
Backwards-compatible alias for older call sites.
MIN_SUPPORTED_DEPLOYMENT_PROTOCOL_VERSION
Oldest deployment protocol version this binary can read.
RESOURCE_PREFIX_ERROR_MESSAGE
VERSION

Traits§

ResourceDefinition
Trait that defines the interface for all resource types in the Alien system. This trait enables extensibility by allowing new resource types to be registered and managed alongside built-in resources.
ResourceOutputsDefinition
Trait that defines the interface for all resource output types in the Alien system. This trait enables extensibility by allowing new resource output types to be registered and managed alongside built-in resource outputs.

Functions§

generate_id_example
Generate a deterministic ID example for a given type
id_error_message
Generate an error message for invalid IDs
id_regex_pattern
Generate a regex pattern for validating IDs of a specific type
is_valid_resource_prefix
kubernetes_build_service_account_name
Canonical Kubernetes ServiceAccount for build jobs.
kubernetes_manager_service_account_name
Canonical Kubernetes ServiceAccount for the Alien agent/manager pod.
kubernetes_resource_name
Canonical Kubernetes workload name for stack resources.
kubernetes_service_account_name
Canonical Kubernetes ServiceAccount for a permission profile.
new_id
Generate a new ID for the specified type
ownership_policy_for_resource_type
permission_profile_from_service_account_id
ServiceAccount resource IDs are generated as {permission_profile}-sa.
standard_resource_tags
validate_binding_type
Validates that an external binding type matches the resource type.

Type Aliases§

Result

Attribute Macros§

alien_event
A procedural macro that wraps a function with an AlienEvent scope.