Saltar al contenido principal

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.ai
  • api-green.alpha-swarm.ai
  • manage-green.alpha-swarm.ai

1) Pre-cutover prep​

  1. Ensure tower-dev is healthy:

    bash scripts/verify_tower_cluster.sh
  2. Update Auth0 app allow-lists so both blue and green URLs are valid during transition. Use alphaswarm_platform/terraform/modules/auth0_identity inputs:

    • callback_urls + cutover_callback_urls
    • logout_urls + cutover_logout_urls
    • web_origins + cutover_web_origins
  3. 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.ai
    • https://api-green.alpha-swarm.ai/livez
    • https://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.