API Deployment
Local Deployment (Preferred)
Deploy locally for speed, push to main to true everything up.
Prerequisites
# Start Colima (lightweight Docker daemon)
colima start --cpu 2 --memory 4
# Login to ECR
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 255982108053.dkr.ecr.us-east-1.amazonaws.com
Build and Deploy
There are two API apps to deploy. The former per-product apps (statuspages/alerting/synthetics/insights) were folded into Divinux (C5/D5/E5, May 2026) — one image serves all of those surfaces.
cd statux-api
# Divinux (alerting + synthetics + statuspages + insights surfaces)
docker build -f Dockerfile.divinux -t 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-divinux-api:latest .
docker push 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-divinux-api:latest
aws autoscaling start-instance-refresh --auto-scaling-group-name statux-prod-asg-divinux-api --preferences '{"MinHealthyPercentage":100,"MaxHealthyPercentage":200,"InstanceWarmup":120}'
# Platform
docker build -f Dockerfile.platform -t 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-platform-api:latest .
docker push 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-platform-api:latest
aws autoscaling start-instance-refresh --auto-scaling-group-name statux-prod-asg-platform-api --preferences '{"MinHealthyPercentage":50,"InstanceWarmup":120}'
Reference
| App | Dockerfile | ECR Repo | ASG |
|---|---|---|---|
| Divinux (ex statuspages/alerting/synthetics/insights) | Dockerfile.divinux | statux-divinux-api | statux-prod-asg-divinux-api |
| Platform | Dockerfile.platform | statux-platform-api | statux-prod-asg-platform-api |
CodeBuild (Push to Main)
Push to main triggers CodeBuild automatically:
| App | Project | Trigger Path |
|---|---|---|
| Divinux | statux-prod-codebuild-api-divinux | apps/divinux/**, libs/** |
| Platform | statux-prod-codebuild-api-platform | apps/platform/**, libs/** |
Monitoring Deployment
# Watch ASG refresh status
aws autoscaling describe-instance-refreshes \
--auto-scaling-group-name statux-prod-asg-divinux-api \
--query 'InstanceRefreshes[0]'