Skip to content

chore(metadata): remove the dead aurora metadata-store backend#675

Merged
benben merged 1 commit into
mainfrom
ben/remove-aurora
Jun 4, 2026
Merged

chore(metadata): remove the dead aurora metadata-store backend#675
benben merged 1 commit into
mainfrom
ben/remove-aurora

Conversation

@benben
Copy link
Copy Markdown
Member

@benben benben commented Jun 4, 2026

What

Removes the aurora metadata-store backend completely — the per-org Aurora serverless-v2 cluster path the composition used to stand up. It's no longer provisionable and has no live deployments, so this is a full rip-out: no backward-compat shim, no retained constant (same approach as the s3_tables removal in #648). cnpg-shard and external remain the only metadata backends.

Disambiguation

"Aurora" appears in two senses; only the first is removed:

  • (A) the aurora backend type — removed (enum value, ACU config, provisioning/Create arm, status wiring).
  • (B) AWS Aurora as the RDS engine behind the kept external backend — preserved (pg_stat_activity / Performance Insights observability comments, the networkpolicy egress to RDS/Aurora endpoints, the metadata-probe TLS/DNS rationale). Stale backend-prose mentioning "aurora" in kept paths was reworded to external/RDS.

Production

  • configstore: drop MetadataStoreKindAurora, ManagedWarehouse.AuroraMin/MaxACU (+ the Config snapshot copy), and the aurora_min_acu/max_acu admin upsert columns.
  • provisioning API: drop the aurora request shape (provisionAuroraReq) + its provisioning case; the type list now rejects anything but cnpg-shard/external.
  • provisioner: drop CreateOptions.Min/MaxACU + the aurora Create arm. Behavior change: an empty metadata_store_kind previously aliased to aurora — it now hits the reject default: (intentional; no empty-kind rows exist). cnpg-shard/external are explicit cases, unaffected.

Tests / seeds

  • Replace the two aurora provisioning tests with one regression test asserting aurora is rejected (400, no warehouse created).
  • Rewrite the shared controller_test fixtures (probe / pgbouncer-drift / endpoint / Synced) from aurora → external — they exercise backend-agnostic logic, so only the fixture type changes (coverage preserved, not deleted).
  • Drop aurora_min_acu/max_acu columns + values from the kind and tenant-isolation config-store seeds — the struct fields are gone, so a fresh AutoMigrate won't create the columns and the INSERTs must not reference them.

Verification

go build / go vet (-tags kubernetes) clean; provisioner + provisioning unit lanes green locally. CI covers the configstore-integration lane (seeds) + the e2e-mw-dev real-cluster run (cnpg + external activation still work, lakekeeper-only iceberg).

The "aurora" metadata-store backend (a per-org Aurora serverless-v2 cluster
the composition stood up) is no longer provisionable and has no live
deployments. cnpg-shard and external are the only backends. Rip it out
completely — no backward-compat shim, no retained constant (same approach as
the s3_tables removal in #648).

Production:
- configstore: drop MetadataStoreKindAurora, ManagedWarehouse.AuroraMin/MaxACU
  (+ the Config snapshot copy), and the aurora_min_acu/max_acu admin upsert cols
- provisioning API: drop the "aurora" request shape (provisionAuroraReq) and the
  provisioning case; the type list now rejects anything but cnpg-shard/external
- provisioner: drop CreateOptions.Min/MaxACU + the aurora Create arm (empty
  metadata-store kind now rejects instead of aliasing to aurora); drop the
  ACU wiring in the controller
- reword stale aurora prose in kept paths (DuckLake coupling, probe rationale,
  lakekeeper inputs, CR doc) to "external"/"RDS"; preserve genuine AWS-Aurora
  engine refs (pg_stat_activity / Performance Insights observability,
  the networkpolicy egress to RDS/Aurora endpoints, metadata_probe TLS/DNS)

Tests / seeds:
- replace the two aurora provisioning tests with one asserting aurora is
  rejected (400, no warehouse created)
- rewrite the shared controller_test fixtures (probe / pgbouncer-drift /
  endpoint / Synced) from aurora to external — they exercise backend-agnostic
  logic, so only the fixture type changes
- drop aurora_min_acu/max_acu columns + values from the kind and
  tenant-isolation config-store seeds (struct fields gone → a fresh
  AutoMigrate won't create them, so the INSERTs must not reference them)

go build / vet (-tags kubernetes) clean; provisioner + provisioning unit lanes
green.
@benben benben requested a review from a team June 4, 2026 11:36
@benben benben merged commit 3ef7d95 into main Jun 4, 2026
24 checks passed
@benben benben deleted the ben/remove-aurora branch June 4, 2026 11:42
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