Skip to content

HYPERFLEET-897 - docs: add Helm OCI distribution design and ADR#135

Open
ciaranRoche wants to merge 1 commit into
mainfrom
hyperfleet-897-helm-oci-design
Open

HYPERFLEET-897 - docs: add Helm OCI distribution design and ADR#135
ciaranRoche wants to merge 1 commit into
mainfrom
hyperfleet-897-helm-oci-design

Conversation

@ciaranRoche
Copy link
Copy Markdown
Contributor

@ciaranRoche ciaranRoche commented May 11, 2026

Summary

  • Adds Helm OCI Distribution Design doc covering how HyperFleet Helm charts are published as OCI artifacts to Quay.io via Konflux
  • Adds ADR 0015 capturing the decision to adopt OCI distribution over helm-git
  • Updates helm-chart-conventions standard: independent versioning → coupled versioning (chart version = appVersion = git tag)
  • Fixes registry paths across all release docs to use hyperfleet-tenant/hyperfleet/
  • Fixes ADR 0013→0014 link in bill-of-artifacts
  • Replaces "under discussion" umbrella chart note with link to finalised design

Key decisions documented

  • Konflux native build-helm-chart-oci-ta task for chart packaging
  • Separate Konflux Components for charts (one artifact per Component, Snapshot model constraint)
  • Coupled versioning: chart version and appVersion always match the git tag
  • Flat Quay namespace with -chart suffix (hyperfleet-api-chart, etc.)
  • hyperfleet-infra umbrella charts stay in Git for local dev and E2E — not published to OCI
  • Managed release pipeline for external registries pending from Konflux team (reference RELEASE-2363)

Dependencies

  • Konflux release-service team needs to build an external-registry variant of rh-push-helm-chart-to-registry-redhat-io — tracked in vault, JIRA ticket to be filed

🤖 Generated with Claude Code

@openshift-ci openshift-ci Bot requested review from aredenba-rh and rh-amarin May 11, 2026 14:07
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 11, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign crizzo71 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 11, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: b4fb9504-55aa-43fa-b9a6-6a1f372b09a8

📥 Commits

Reviewing files that changed from the base of the PR and between 0c392f9 and 9f0e7b2.

📒 Files selected for processing (11)
  • hyperfleet/adrs/0014-konflux-build-and-release.md
  • hyperfleet/adrs/0016-helm-oci-distribution.md
  • hyperfleet/adrs/README.md
  • hyperfleet/bill-of-artifacts.md
  • hyperfleet/components/adapter/adapter-versioning.md
  • hyperfleet/docs/release/README.md
  • hyperfleet/docs/release/glossary.md
  • hyperfleet/docs/release/helm-oci-distribution-design.md
  • hyperfleet/docs/release/hyperfleet-release-process.md
  • hyperfleet/docs/release/konflux-release-pipeline-design.md
  • hyperfleet/standards/helm-chart-conventions.md

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Helm charts now distributed as OCI artifacts via Quay.io, enabling direct consumption without plugins.
  • Documentation

    • Updated container image repository paths across release documentation.
    • Added Helm OCI distribution design documentation and updated release process guides.
    • Standardized Helm chart versioning to couple chart and app versions with git tags.

Walkthrough

The changes establish HyperFleet's shift from git-based Helm chart distribution (helm-git) to publishing Helm charts as OCI artifacts via Quay.io using Konflux's build and release pipeline. A new ADR 0016 documents this architectural decision. The Quay registry path was standardized to quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/ across release documentation. Helm chart versioning conventions were updated to couple chart version and app version to the same git tag. The Konflux production cluster reference was updated from stone-prd-rh01 to kflux-prd-rh02. Affected documentation includes release process guides, glossary, standards, and architecture decision records.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main changes: adding Helm OCI distribution design documentation and an ADR for this architectural decision.
Description check ✅ Passed The description is directly related to the changeset, providing clear summaries of additions and updates made across multiple documentation files in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hyperfleet-897-helm-oci-design

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@hyperfleet/adrs/0015-helm-oci-distribution.md`:
- Around line 25-26: The ADR currently asserts coupled chart/appVersion but
lacks rollout conditions; update the "Coupled versioning" and the
`hyperfleet-infra` sections to include an explicit migration precondition and
target-state timeline: require all component repos to adopt the tag-based
versioning (replace `appVersion: "0.0.0-dev"` entries), list owners responsible,
a gating checklist (CI validation that `build-helm-chart-oci-ta` emits matching
chart version and appVersion, repo tags enforced, and dependency references
migrated from `helm-git` to `oci://`), and a target milestone/date for
completion; also note fallback behavior for repos not yet migrated and update
wording from present-tense to "target state" so consumers don’t assume immediate
enforcement.

In `@hyperfleet/bill-of-artifacts.md`:
- Line 206: Update the Helm OCI registry path in the "Helm charts will be
published..." sentence so it uses the standardized namespace
`quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/` (matching the rest
of the PR) instead of `quay.io/redhat-services-prod/hyperfleet-tenant/`; edit
the text in the hyperfleet/bill-of-artifacts.md paragraph that mentions the
`build-helm-chart-oci-ta` task to reference
`quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/` for per-chart
repos.

In `@hyperfleet/docs/release/helm-oci-distribution-design.md`:
- Line 27: Replace incorrect registry paths that omit the required "hyperfleet/"
namespace segment: find occurrences of the string
"quay.io/redhat-services-prod/hyperfleet-tenant/" (and similar OCI
examples/targets noted around lines 48-49, 117-120, 136-137, 214-230) and update
them to include the hyperfleet segment, e.g.
"quay.io/redhat-services-prod/hyperfleet/hyperfleet-tenant/"; ensure all
examples, targets, and any chart name references consistently use the standard
path with the extra "hyperfleet/" namespace so publish/pull commands point to
the correct repository.

In `@hyperfleet/docs/release/konflux-release-pipeline-design.md`:
- Around line 310-312: The nightly Prow example still references the old
registry namespace (e.g.,
"quay.io/redhat-services-prod/hyperfleet/hyperfleet-api") which conflicts with
the updated target registry paths introduced for hyperfleet-api,
hyperfleet-sentinel, and hyperfleet-adapter (e.g.,
"quay.io/redhat-services-prod/hyperfleet-tenant/hyperfleet/hyperfleet-api");
update the nightly example block to use the same
"redhat-services-prod/hyperfleet-tenant/hyperfleet/..." paths for all three
images so the document contains a single consistent registry pattern.

In `@hyperfleet/standards/helm-chart-conventions.md`:
- Around line 154-168: Add a short migration/rollout note to the "Chart version
and appVersion MUST be coupled" section in helm-chart-conventions.md that: names
the repos/docs to update (e.g., any component CONTRIBUTING.md that instructs
independent chart versioning such as openshift-hyperfleet/hyperfleet-api
CONTRIBUTING.md), states the cutover expectation (all component repos switch to
the coupled rule and set appVersion="0.0.0-dev" with image.tag managed by CI; CI
will stamp chart version via build-helm-chart-oci-ta from git tags), and gives a
brief timeline/owner guidance for the change (who must update docs and when).
Ensure the note references appVersion, chart version, and
build-helm-chart-oci-ta so readers can locate related text.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 1e39e6cd-4a4f-417e-a5b3-30b3c9e129da

📥 Commits

Reviewing files that changed from the base of the PR and between 300f1b3 and fb3b682.

📒 Files selected for processing (11)
  • hyperfleet/adrs/0014-konflux-build-and-release.md
  • hyperfleet/adrs/0015-helm-oci-distribution.md
  • hyperfleet/adrs/README.md
  • hyperfleet/bill-of-artifacts.md
  • hyperfleet/components/adapter/adapter-versioning.md
  • hyperfleet/docs/release/README.md
  • hyperfleet/docs/release/glossary.md
  • hyperfleet/docs/release/helm-oci-distribution-design.md
  • hyperfleet/docs/release/hyperfleet-release-process.md
  • hyperfleet/docs/release/konflux-release-pipeline-design.md
  • hyperfleet/standards/helm-chart-conventions.md

Comment thread hyperfleet/adrs/0016-helm-oci-distribution.md
Comment thread hyperfleet/bill-of-artifacts.md
Comment thread hyperfleet/docs/release/helm-oci-distribution-design.md
Comment thread hyperfleet/docs/release/konflux-release-pipeline-design.md
Comment thread hyperfleet/standards/helm-chart-conventions.md
@ciaranRoche ciaranRoche force-pushed the hyperfleet-897-helm-oci-design branch from fb3b682 to bb95bf9 Compare May 11, 2026 14:24
Comment thread hyperfleet/docs/release/helm-oci-distribution-design.md Outdated
@ciaranRoche ciaranRoche force-pushed the hyperfleet-897-helm-oci-design branch from bb95bf9 to 0c392f9 Compare May 11, 2026 15:48
@rh-amarin
Copy link
Copy Markdown
Collaborator

rh-amarin commented May 11, 2026

Maybe we should ditch ADR numbering, since I merged #133 that one also included ADR#15

Adds the design for publishing HyperFleet Helm charts as OCI artifacts
to Quay.io via Konflux, replacing helm-git plugin distribution.

New files:
- Helm OCI Distribution Design doc (docs/release/)
- ADR 0015 — Helm OCI Distribution

Key decisions:
- Konflux native build-helm-chart-oci-ta task, no custom pipelines or GHA
- Separate Konflux Components per chart (Snapshot model constraint)
- Coupled versioning: chart version = appVersion = git tag
- Flat Quay namespace with -chart suffix
- hyperfleet-infra umbrella charts stay in Git (local dev + E2E only)
- Managed release pipeline for external registries pending from Konflux
  team (reference RELEASE-2363)

Also updates existing docs for consistency:
- Registry paths to hyperfleet-tenant/hyperfleet/ across all release docs
- Helm chart conventions standard: independent → coupled versioning
- Adapter versioning: aligned with coupled versioning
- Bill of artifacts: fixed ADR 0013→0014 link, added Helm OCI section
- Release process: replaced "under discussion" with finalised design link

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ciaranRoche ciaranRoche force-pushed the hyperfleet-897-helm-oci-design branch from 0c392f9 to 9f0e7b2 Compare May 11, 2026 18:11
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.

2 participants