Raxx · internal docs

internal · gated

RCA — staging-nextjs.raxx.app 503 due to missing nodejs_compat flag

Incident ID: 2026-05-27-nodejs-compat-flag-missing Date: 2026-05-27 Severity: SEV-3 Duration: ~5m detection (first deploy run) → pending resolution (operator action required) Blast radius: staging-nextjs.raxx.app — staging surface only, no production traffic, no end users Author: sre-agent

Summary

The first deploy of Antlers Next.js to the raxx-staging-next Cloudflare Pages project succeeded at the wrangler level (assets uploaded, deployment created) but the site returned HTTP 503 with error "no nodejs_compat compatibility flag." The CF Pages project was provisioned during Wave A without the nodejs_compat compatibility flag required by @cloudflare/next-on-pages. The deploy workflow's health check caught the 503 and failed the run. Resolution requires a CF API PATCH to add nodejs_compat to the project's production deployment config, then a re-deploy.

Timeline (all times UTC)

Impact

What went well

What didn't go well

Root cause analysis

Detection

Resolution

Operator action required. SRE agent does not have authorization to PATCH shared CF Pages project configuration without operator authorization.

Operator steps to resolve:

TOKEN=$(infisical secrets get CF_PAGES_DEPLOY_TOKEN \
  --path /MooseQuest/cloudflare/ --env prod --plain)
ACCOUNT_ID=$(infisical secrets get CLOUDFLARE_ACCOUNT_ID \
  --path /MooseQuest/cloudflare/ --env prod --plain)

curl -sS -X PATCH \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  "https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/pages/projects/raxx-staging-next" \
  -d '{
    "deployment_configs": {
      "production": {
        "compatibility_flags": ["nodejs_compat"],
        "compatibility_date": "2024-09-23"
      }
    }
  }'

# Then re-trigger the workflow:
gh workflow run deploy-antlers-next-staging.yml --repo raxx-app/TradeMasterAPI

Validation: curl -sS -o /dev/null -w "%{http_code}" https://staging-nextjs.raxx.app/ returns 200.

Also required for Phase 3 before prod deploy: Apply the same PATCH to raxx-prod-next before the first production deploy. See Action item 3 below.

Action items

# Action Owner Due Issue
1 Add idempotent nodejs_compat PATCH step to deploy-antlers-next-staging.yml before wrangler deploy step — ensures project config is correct on every run sre-agent 2026-05-28 (file in next PR)
2 Apply nodejs_compat flag to raxx-staging-next project and re-trigger deploy operator 2026-05-27 operator-action
3 Apply nodejs_compat flag to raxx-prod-next before Phase 3 prod deploy operator (Phase 3) before #2883 #2883
4 Add nodejs_compat requirement to Wave A provisioning checklist in cf-pages-antlers-next.md sre-agent 2026-05-28 (runbook update)

References