Docs

Behavior & Limits

Guarantees, limits, and platform notes for Alien Containers.

Guarantees

Keeps running. A container keeps the configured number of replicas running until the resource is updated, deleted, or marked failed.

Internal service name. Every container has an internal DNS name in its deployment environment. Linked services can use the container binding instead of hard-coding cloud-specific service names.

Single public exposure. A container can expose one public port. This keeps load-balancer ownership deterministic across AWS, GCP, Azure, Kubernetes, and Local.

Immutable placement shape. Resource ID, cluster, stateful mode, ports, and capacity pool are immutable for an existing container. Changing those fields requires replacing the resource.

Cloud scheduling. On AWS, GCP, and Azure, Alien tracks replica placement and health for containers. The cloud controllers manage surrounding provider resources such as load balancers and persistent disks.

Limits

LimitValueNotes
Minimum ports1A container with no ports is invalid.
Publicly exposed ports1Additional ports can be internal-only.
HTTP exposed ports1Multiple HTTP load-balancer front doors are not supported for one container.
Health check timeout default1 secondConfigurable with timeoutSeconds.
Health check failure threshold default3 failuresConfigurable with failureThreshold.
Local source containersNot supported by the local controllerUse a container image for local container resources.
Kubernetes source containersNot supported by the Kubernetes controllerUse a container image for Kubernetes container resources.
Persistent storage mount from .persistentStorage(size)/dataAdvanced mount options are not exposed by the TypeScript convenience method.

Platform Notes

AWS

  • Cloud containers run on EC2-backed machines in the customer's AWS account.
  • Public containers use load-balancing resources for the exposed port.
  • Stateful containers can create EBS volumes for persistent storage.
  • Alien tracks container scheduling and replica state.

GCP

  • Cloud containers run on Compute Engine-backed machines in the customer's GCP project.
  • Public containers use Google Cloud load-balancing resources.
  • Stateful containers can create Persistent Disks.
  • Alien tracks container scheduling and replica state.

Azure

  • Cloud containers run on Azure Virtual Machines in the customer's subscription.
  • Public containers use Azure load-balancing resources.
  • Stateful containers can create Managed Disks.
  • Alien tracks container scheduling and replica state.

Kubernetes / On-Prem

  • Stateless containers map to Kubernetes Deployments.
  • Stateful containers map to StatefulSets.
  • Persistent storage maps to PersistentVolumeClaim templates.
  • Source-based container builds are not currently handled by the Kubernetes container controller; deploy an image.

Local

  • Containers run through the local container runtime.
  • Linked filesystem-backed resources are bind-mounted into the container when applicable.
  • Local source containers are not currently handled by the local container controller; deploy an image.

Design Decisions

One public port per container. The current controllers create one load-balancer path per container. Keeping this limit universal prevents cloud-specific behavior from leaking into the resource model.

Cluster and ports are immutable. Changing cluster placement or public ports changes networking and load-balancer shape. Alien treats those as replacement-level changes instead of in-place edits.

Alien places cloud replicas. Provider controllers create the cloud resources around the container. Alien decides where replicas run on the customer's machines.

On this page