Skip to content

refactor: shared Neon (drop ACK-RDS); tb-prod tailnet+branch validation overlay#5

Merged
aatchison merged 1 commit into
mainfrom
refactor/neon-no-rds-tb-prod-overlay
Jun 25, 2026
Merged

refactor: shared Neon (drop ACK-RDS); tb-prod tailnet+branch validation overlay#5
aatchison merged 1 commit into
mainfrom
refactor/neon-no-rds-tb-prod-overlay

Conversation

@aatchison

Copy link
Copy Markdown
Contributor

What

Customer Auth uses a shared Neon Postgres DB (source ECS and EKS target), not RDS — so the ACK-RDS machinery was vestigial, and the overlays/tb-prod public/RDS shape did not match the running tailnet + Neon-branch validation instance.

Base

  • Remove bases/aws/* (DBInstance/DBSubnetGroup/FieldExport) + the rds-endpoint ConfigMap. The StatefulSet now takes KC_DB_URL_HOST from the overlay (sentinel value:) instead of a FieldExport ConfigMap; port defaults to 5432.

Overlays

  • tb-dev: drop the now-dangling aws/* patches (DB host was already overridden to the Neon branch in feat(tb-dev): repoint Keycloak DB to the Neon branch mzla-tb-dev #4). Rendered output is otherwise unchanged.
  • tb-prod: reshape to the running validation state — tailnet hostname (keycloak-customer-tb-prod), Neon branch mzla-tb-prod (ep-red-grass, ?sslmode=require), 2 replicas / 500m, dedicated SecurityGroupPolicy [sg-08711… eks-cluster-sg, sg-08319… pod SG], tailnet Ingress. The public-cutover files (cloudflare-*, tailscale-admin-ingress, pdb minAvailable-2, 3 replicas) are kept but unreferenced until the cutover (#142).

Docs: README + base StatefulSet header updated to the shared-Neon reality.

Validated locally: kubectl kustomize overlays/{tb-dev,tb-prod} → 11 objects each, no DBInstance/FieldExport/ConfigMap/Tunnel; tb-prod renders the branch DB host + correct SGs + ExternalSecrets → mzla/tb-prod/*.

Implements platform-infrastructure#579; part of platform-infrastructure#139.

⚠️ Merge order: merge this only after platform-infrastructure prune:false PR (#586) is merged + applied, so the tb-dev auto-sync does not delete the idle dev RDS the instant the base change lands.

🤖 Generated with Claude Code

…on overlay

Customer Auth uses a SHARED Neon Postgres DB (source ECS and EKS target), not RDS,
so the ACK-RDS machinery was vestigial and the tb-prod overlay's public/RDS shape
did not match the running tailnet+branch validation instance.

Base:
- Remove bases/aws/* (DBInstance/DBSubnetGroup/FieldExport) and the
  rds-endpoint ConfigMap; the StatefulSet now takes KC_DB_URL_HOST from the overlay
  (sentinel value) instead of a FieldExport ConfigMap; port defaults to 5432.

Overlays:
- tb-dev: drop the now-dangling aws/* patches (DB host already overridden to the
  Neon branch in #4); render is otherwise unchanged.
- tb-prod: reshape to the running VALIDATION state -- tailnet-only hostname
  (keycloak-customer-tb-prod), Neon branch mzla-tb-prod (ep-red-grass, sslmode),
  2 replicas / 500m, dedicated SecurityGroupPolicy [eks-cluster-sg, pod SG], and a
  tailnet Ingress. The public-cutover files (cloudflare-*, tailscale-admin-ingress,
  pdb minAvailable-2, 3 replicas) are kept but unreferenced until the cutover (#142).

Docs: README + base StatefulSet header updated to the shared-Neon reality.

Implements #579; part of #139. NOTE: merge only AFTER platform-infrastructure
prune:false lands so the tb-dev sync does not auto-delete the idle dev RDS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aatchison aatchison merged commit cfc7181 into main Jun 25, 2026
1 check passed
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