-
Notifications
You must be signed in to change notification settings - Fork 18
HYPERFLEET-897 - docs: add Helm OCI distribution design and ADR #135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| --- | ||
| Status: Active | ||
| Owner: Ciaran Roche | ||
| Last Updated: 2026-05-11 | ||
| --- | ||
|
|
||
| # 0016 — Helm OCI Distribution via Konflux | ||
|
|
||
| ## Context | ||
|
|
||
| HyperFleet distributes Helm charts to partner teams (GCP, ROSA) via the `helm-git` plugin, which pulls charts directly from Git repositories. This approach requires every consumer to install the plugin, provides no versioning semantics or content-addressable storage, and lacks signing or provenance. ArgoCD does not ship with `helm-git`, requiring custom images. | ||
|
|
||
| The Helm ecosystem has converged on OCI registries as the standard distribution mechanism (Bitnami OCI-only migration, Harbor ChartMuseum removal, Helm 4 OCI-first). Konflux provides native Helm chart OCI support through `build-helm-chart-oci-ta` and a dedicated release pipeline. | ||
|
|
||
| ## Decision | ||
|
|
||
| Publish all HyperFleet Helm charts as OCI artifacts to Quay.io via the Konflux release pipeline. | ||
|
|
||
| Key design choices: | ||
|
|
||
| - **Konflux native tooling** — `build-helm-chart-oci-ta` for chart packaging. Managed release pipeline for external registries pending from Konflux team (reference RELEASE-2363). No custom Tekton tasks or GitHub Actions. | ||
| - **Separate Konflux Components** for chart builds — each component repo registers a `-chart` Component alongside its container image Component. Independent build triggers and Snapshots. | ||
| - **Chart-specific EC policy** derived from `registry-standard` with container-specific rules excluded (no base image checks, CVE scanning, SBOM, or label requirements). Provenance verification retained. | ||
| - **Standard image references** — chart `values.yaml` defaults point to Konflux-built images, overridable via `image.repository` and `image.tag` for local dev and E2E testing. | ||
| - **Coupled versioning** — chart version and appVersion always match the git tag. Chart and app live in the same repo, get the same tag, and `build-helm-chart-oci-ta` derives the version automatically. | ||
| - **`hyperfleet-infra` umbrella chart dependencies** migrate from `helm-git` to `oci://` references for versioned, content-addressable chart resolution. | ||
|
|
||
| See [Helm OCI Distribution Design](../docs/release/helm-oci-distribution-design.md) for the full design document. | ||
|
|
||
| ## Consequences | ||
|
|
||
| **Gains:** | ||
|
|
||
| - No plugin dependency for chart consumers — standard Helm CLI and ArgoCD OCI support | ||
| - Immutable, content-addressable chart versions with SHA256 digests | ||
| - Supply chain security for charts — Tekton Chains provenance and cosign signing | ||
| - Single registry and pipeline for all artifacts (images and charts) | ||
| - Chart image defaults point to Konflux-built images, overridable for local dev and E2E | ||
|
|
||
| **Trade-offs:** | ||
|
|
||
| - Additional Konflux configuration to maintain (Components, RPA, EC policy per chart) | ||
| - `hyperfleet-infra` umbrella chart migration requires testing with local dev and E2E workflows | ||
|
|
||
| ## Alternatives Considered | ||
|
|
||
| | Alternative | Why Rejected | | ||
| |-------------|--------------| | ||
| | Continue with helm-git | Plugin dependency, no versioning/signing/provenance, ArgoCD requires custom images. Industry moving away. | | ||
| | GitHub Actions for chart publishing | Split pattern (Konflux for images, GHA for charts). No Chains provenance. Konflux has native support. | | ||
| | Traditional Helm repository (ChartMuseum / GitHub Pages) | Separate infrastructure. ChartMuseum deprecated. No content-addressable storage or signing. | | ||
| | Single Konflux Component for image + chart | Konflux's Snapshot model produces one artifact per Component. A single Component cannot produce both a container image and a Helm chart OCI artifact. All teams (RHOAI, flightctl) use separate Components. | | ||
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
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
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.