Skip to content

⚑ derive umbrella subchart packaging from in-repo sources - #681

Closed
jrosseel wants to merge 1 commit into
feat/ci-deploy-speedupsfrom
feat/derive-umbrella-subcharts
Closed

⚑ derive umbrella subchart packaging from in-repo sources#681
jrosseel wants to merge 1 commit into
feat/ci-deploy-speedupsfrom
feat/derive-umbrella-subcharts

Conversation

@jrosseel

Copy link
Copy Markdown
Collaborator

Stacked on #677 (merge that first; this PR then retargets to develop automatically).

Why

Every subchart version bump forced three synchronized edits β€” the umbrella Chart.yaml pin, Chart.lock, and the vendored charts/*.tgz β€” and a missed one blocked CI/deploys (the exact failure mode flagged on #677's review pass). All 15 umbrella dependencies are in-repo file:// charts, so the checked-out commit already fixes their exact sources: the pin ceremony recorded no information git didn't already hold.

What

  • The umbrella declares its dependencies with an open version constraint (">=0.0.0-0") β€” it always accepts whatever version the owning app's chart currently declares.
  • Chart.lock and the vendored charts/*.tgz are deleted and gitignored; the deploy fixture (current-chart-sources.sh) packages the current sources with helm dependency update --skip-refresh at render time, exactly as the contract checks now do.
  • validateUmbrella keeps the one invariant that can still drift β€” every chart-bearing application must stay declared as an umbrella dependency β€” and drops the pin/lock/archive comparisons (the packaging-diff checker is deleted with them).
  • post-deploy-health-contract.sh renders from the shared fixture instead of hand-packaging four charts around the committed archives.
  • Docs (versioning.md, ci-and-deploy.md, website Contributing pages) updated: a chart version bump no longer requires touching the umbrella at all. External bootstrap charts stay pinned by version and digest β€” this change is only about in-repo charts.

Validation

  • check:release-versioning --base origin/develop PASS; versioning tests 49/49 (umbrella test rewritten for the membership invariant)
  • All Helm contract suites PASS, including the rewritten post-deploy health contract
  • Website build clean

Every umbrella dependency is a file:// chart in this repository, so the
checked-out commit already fixes the exact sources. The umbrella now
declares open version constraints and the deploy fixture packages the
current sources at render time; the checked-in Chart.lock and vendored
archives are gone, and a chart version bump no longer requires touching
the umbrella at all. The release gate keeps the one invariant that can
still drift: every chart-bearing application must stay declared as an
umbrella dependency.
@jrosseel
jrosseel marked this pull request as draft August 19, 2026 13:16
@jrosseel

Copy link
Copy Markdown
Collaborator Author

Closing while #677 lands β€” this branch stacked on an older head of #677 and was failing the stack-integrity topology guard for every open PR. Will reopen against develop once #677 merges; branch feat/derive-umbrella-subcharts is preserved.

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