Make the bundle base the full deployable shape for the catalog#10
Merged
Conversation
Move component composition from the e2e overlay into config/base so the base kustomization is the full deployable shape. Downstream deployers consume ./base and patch only env-specific values. Key changes: - config/base now lists the database-cnpg, networking, and app-config components, so it renders the CNPG Cluster, HTTPRoute, and the Deployment wiring (POSTGRES_* env, wait-for-postgres initContainer, app-config volume mount and args) - e2e overlay drops its redundant components list and inherits them from base; it still pins backstage:e2e and generates backstage-app-config Claude-Session: https://claude.ai/code/session_01NMSkwUcaTmZr7S5XmV2aFG
The e2e overlay now inherits the backstage HTTPRoute from config/base, so the kind cluster needs the Gateway API CRDs before the overlay is applied. Without them the server-side apply fails with no matches for kind HTTPRoute. Claude-Session: https://claude.ai/code/session_01NMSkwUcaTmZr7S5XmV2aFG
ecv
approved these changes
Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes the published Backstage bundle a complete, self-contained description of how to run the service catalog, so it can be deployed consistently across environments. The bundle owns how Backstage runs (its app, database, routing, and config wiring); each environment supplies only its own values (hostname, sizing, secrets). This is a foundational step toward standing up the Datum service catalog — see datum-cloud/infra#2967.
Why this matters
For the catalog to be deployed and operated reliably, "how to run Backstage" should live in one place — with the app — not be reassembled differently by every environment. Today that deployment shape was only assembled in the throwaway e2e test path. This change promotes it to the bundle's base so:
What changed
config/base, so the published./baseis the full deployable unit (Backstage + its CNPG database, the gateway route with no hostname, and the runtime/config wiring).Validation
End-to-end test (real kind deployment, the gating check) is green: the catalog boots against its database and serves the health and catalog APIs from the same base production will use.
Tracking: datum-cloud/infra#2967