AlphaSwarm.FUND Blue/Green Cutover
Runbook for migrating alphaswarm.fund traffic to the tower cluster with a short,
controlled DNS/tunnel switch and immediate rollback path.
Green lane artifacts
- Overlay:
alphaswarm_platform/deployments/kubernetes/overlays/tower-green/ - Tunnel lane:
alphaswarm_platform/deployments/kubernetes/edge/cloudflared-alphaswarm-green/ - Verification:
scripts/verify_blue_green_cutover.sh
Green hostnames (per
ingress-green-hosts.yaml):
alpha-swarm-green.alpha-swarm.aiapi-green.alpha-swarm.aimanage-green.alpha-swarm.ai
1) Pre-cutover prep
-
Ensure
tower-devis healthy:bash scripts/verify_tower_cluster.sh -
Update Auth0 app allow-lists so both blue and green URLs are valid during transition. Use
alphaswarm_platform/terraform/modules/auth0_identityinputs:callback_urls+cutover_callback_urlslogout_urls+cutover_logout_urlsweb_origins+cutover_web_origins
-
Create green tunnel token secret:
token="$(cloudflared tunnel token alphaswarm-fund-edge-green)"
kubectl -n alphaswarm-edge create secret generic cloudflared-alphaswarm-green-token \
--from-literal=token="$token" \
--dry-run=client -o yaml | kubectl apply -f -
2) Deploy green lane
kubectl apply -k alphaswarm_platform/deployments/kubernetes/edge/cloudflared-alphaswarm-green/
kubectl apply -k alphaswarm_platform/deployments/kubernetes/overlays/tower-green/
3) Validate before switch
bash scripts/verify_blue_green_cutover.sh
CHECK_EXTERNAL=true bash scripts/verify_blue_green_cutover.sh
4) Cut over traffic
Perform the controlled switch in Cloudflare:
- point DNS/app routing to green hostnames (or update tunnel ingress mapping)
- confirm health endpoints:
https://alpha-swarm-green.alpha-swarm.aihttps://api-green.alpha-swarm.ai/livezhttps://manage-green.alpha-swarm.ai/manage/livez
Once stable, update canonical host routing (alpha-swarm.ai, api.alpha-swarm.ai,
manage.alpha-swarm.ai) to the tower green lane.
5) Rollback
Immediate rollback commands:
kubectl apply -k alphaswarm_platform/deployments/kubernetes/overlays/tower-dev/
kubectl delete -k alphaswarm_platform/deployments/kubernetes/edge/cloudflared-alphaswarm-green/
Then restore blue DNS/tunnel routing and rerun baseline checks.