HYPERFLEET-897 - docs: add Helm OCI distribution design and ADR#135
HYPERFLEET-897 - docs: add Helm OCI distribution design and ADR#135ciaranRoche wants to merge 1 commit into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (11)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe changes establish HyperFleet's shift from git-based Helm chart distribution ( Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (11)
hyperfleet/adrs/0014-konflux-build-and-release.mdhyperfleet/adrs/0015-helm-oci-distribution.mdhyperfleet/adrs/README.mdhyperfleet/bill-of-artifacts.mdhyperfleet/components/adapter/adapter-versioning.mdhyperfleet/docs/release/README.mdhyperfleet/docs/release/glossary.mdhyperfleet/docs/release/helm-oci-distribution-design.mdhyperfleet/docs/release/hyperfleet-release-process.mdhyperfleet/docs/release/konflux-release-pipeline-design.mdhyperfleet/standards/helm-chart-conventions.md
fb3b682 to
bb95bf9
Compare
bb95bf9 to
0c392f9
Compare
|
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>
0c392f9 to
9f0e7b2
Compare
Summary
hyperfleet-tenant/hyperfleet/Key decisions documented
build-helm-chart-oci-tatask for chart packaging-chartsuffix (hyperfleet-api-chart, etc.)hyperfleet-infraumbrella charts stay in Git for local dev and E2E — not published to OCIDependencies
rh-push-helm-chart-to-registry-redhat-io— tracked in vault, JIRA ticket to be filed🤖 Generated with Claude Code