Skip to content

Promote staging -> master (AWS CD-strip + feat PRs)#86

Merged
topherwhite merged 2 commits into
masterfrom
staging
May 19, 2026
Merged

Promote staging -> master (AWS CD-strip + feat PRs)#86
topherwhite merged 2 commits into
masterfrom
staging

Conversation

@topherwhite
Copy link
Copy Markdown
Member

Summary

Promotes stagingmaster (production). Carries the AWS CD-strip + any feature PRs that landed on staging in this cycle.

Contents

Per gh api compare master...staging at PR-open time — see commit list on this PR for the authoritative set. Expected high-level changes:

  1. AWS build:/deploy: jobs removed from cd.yaml (kops decommissioned per operator decision 2026-05-18 18:55 EDT). deploy-rfcx-local: is the sole CD path going forward. Workflow now: prepare → configure → deploy-rfcx-local → notify.

  2. For rfcx-api: also carries #654 — optional Sequelize PG read-replica routing with weighted read pool (env-gated via POSTGRES_REPLICA_HOSTNAME; no-op when unset).

  3. For ingest-service: also carries #92res.headersSent early-return + structured uncaughtException/unhandledRejection handlers.

What happens on merge

CD triggers immediately on push to master:

  • prepare → configure → deploy-rfcx-local (namespace=production)
  • The runner builds each target stage with docker buildx --platform linux/arm64, pushes to 192.168.5.1:30500/<image>:rfcx-local-prod-<short-sha>
  • kubectl set image rolls each apps-prod Deployment named in the workflow's deployments: list
  • kubectl rollout status --timeout=180s per deployment

Rollback

Standard chain: revert this PR (creates a counter-promotion), then push it through. Or revert the originating commits on master and roll the previous image tag back via kubectl -n apps-prod set image deploy/<name> <container>=192.168.5.1:30500/<image>:<prev-rfcx-local-prod-sha>.

Related

  • Companion staging → master PRs across the rfcx-org sweep.
  • evity-squibbon/rfcx-local STATE.md "AWS / kops decommission status" block.

The kops production cluster has been declared dead by the operator
(2026-05-18 18:55 EDT). The AWS-targeted `build:` (ECR push) and
`deploy:` (kubectl against KUBE_CONFIG_SUPER) jobs have been
failing-or-soon-to-fail since, and rfcx-local has been the
authoritative production deploy target.

This commit:
- Drops the `build:` job (uses `rfcx/cicd/ecr-build-push.yaml`)
- Drops the `deploy:` job (uses `rfcx/cicd/k8s-deploy.yaml`)
- Updates `notify.needs` to depend only on `deploy-rfcx-local`
- Updates notify status/footer to surface the rfcx-local result

`deploy-rfcx-local` is unchanged: it does its own in-cluster
arm64 build via the self-hosted runner in the `cicd` namespace,
pushes to the in-cluster registry at 192.168.5.1:30500, and rolls
`apps-prod` Deployments via the runner's RBAC. It has no
dependency on the AWS `build:`/`deploy:` jobs.

`prepare:` and `configure:` are kept (still needed for the
branch-name gate on `deploy-rfcx-local` and for notify metadata).

`staging` is left in the on.push.branches trigger; with AWS gone
it's a no-op on staging push (deploy-rfcx-local gates on
namespace==production), which preserves the staging-promotion-PR
workflow.

See https://github.com/evity-squibbon/rfcx-local STATE.md
"AWS / kops decommission status" block for context.
ci(cd): remove AWS build+deploy jobs (kops decommissioned)
@topherwhite topherwhite merged commit a253be4 into master May 19, 2026
4 checks passed
@topherwhite topherwhite deleted the staging branch May 19, 2026 06:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant