Docker Image
The Podium Docker image includes the coordinator, gateway, and Chronicle:
cd podium
./build_image.sh staging class="token comment"># or production
The build script: 1. Checks for Chronicle source at parent directory level 2. Copies Chronicle into build context 3. Builds multi-stage Docker image (Rust compilation + runtime) 4. Optionally deploys to ECS with --deploy
Running with Docker
docker run -p 8002:8002 -p 8003:8003 \
-e CHRONICLE_ENABLE=true \
-e CHRONICLE_S3_BUCKET=my-chronicle-cas \
-e AWS_REGION=us-east-1 \
-e S3_BUCKET=my-deployment-registry \
-e VALKEY_URL=redis://valkey:6379 \
-e ADMIN_API_KEY=pod_admin_... \
-e SECRETS_KEY=... \
--privileged \ class="token comment"># Required for FUSE
podium:latest
ALB
│
┌──────┴──────┐
▼ ▼
Gateway-1 Gateway-2
│ │
└──────┬───────┘
│
Valkey
│
┌───────────┼───────────┐
▼ ▼ ▼
Coordinator Coordinator Coordinator
(ECS Task) (ECS Task) (ECS Task)
AWS Components
| Component | Service | Notes |
|---|---|---|
| Gateway | ECS Fargate | Stateless, horizontally scalable |
| Coordinator | ECS EC2 | Needs FUSE (privileged), stateful |
| Service Discovery | ElastiCache (Valkey) | Coordinator registration |
| Deployment Registry | S3 | Agent bundles |
| State Replication | S3 (Litestream) | Agent databases |
| CAS Storage | S3 | Chronicle content-addressable storage |
| Observability | CloudWatch (OTLP) | Traces + metrics |
Terraform
Podium includes Terraform modules for AWS deployment covering ECS services, ALB configuration, Valkey cluster, S3 buckets, IAM roles, and security groups.
Scaling
- Gateway: Stateless — scale horizontally behind ALB
- Coordinator: Stateful — scale by adding instances; Valkey distributes new agents to least-loaded coordinator
- Agents: Scale within a coordinator up to resource limits; scale out by adding coordinators