-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Add OCI publishing for Helm charts to GHCR #8878
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
base: master
Are you sure you want to change the base?
Conversation
Publish Helm charts as OCI artifacts to GitHub Container Registry (ghcr.io) in addition to the classic Helm repository. This enables users to install charts using the OCI protocol available in Helm 3.8+. Changes: - Add GHCR login and helm push steps to chart-release workflow - Update chart READMEs with OCI installation instructions Charts will be available at: - oci://ghcr.io/kubernetes/charts/cluster-autoscaler - oci://ghcr.io/kubernetes/charts/vertical-pod-autoscaler Signed-off-by: Willian Paixao <willian@ufpa.br>
|
Welcome @willianpaixao! |
|
Hi @willianpaixao. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds OCI (Open Container Initiative) publishing support for Helm charts to GitHub Container Registry (GHCR), enabling users to install charts directly without adding a Helm repository first. The implementation upgrades the Helm version to support OCI features and adds new workflow steps to push released charts to GHCR.
Key changes:
- Added OCI publishing workflow steps with GHCR authentication and chart push logic
- Upgraded Helm from v3.4.0 to v3.19.2 and updated GitHub Actions dependencies
- Updated chart READMEs with OCI installation instructions alongside existing Helm repository method
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
.github/workflows/chart-release.yaml |
Added GHCR login and chart push steps for both CA and VPA jobs; upgraded action versions and Helm version; added packages: write permission |
cluster-autoscaler/charts/cluster-autoscaler/README.md |
Added "Using OCI Registry" section with helm install examples for both autodiscovery and manual configuration methods |
vertical-pod-autoscaler/charts/vertical-pod-autoscaler/README.md |
Added "Installation" section with both Helm repository and OCI registry installation methods |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
vertical-pod-autoscaler/charts/vertical-pod-autoscaler/README.md
Outdated
Show resolved
Hide resolved
Signed-off-by: Willian Paixao <willian@ufpa.br>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
/assign gjtempleton |
Signed-off-by: Willian Paixao <willian@ufpa.br>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: willianpaixao 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 |
| set -e | ||
| shopt -s nullglob | ||
| for pkg in .cr-release-packages/*; do | ||
| helm push "${pkg}" "oci://ghcr.io/${GITHUB_REPOSITORY_OWNER}/charts" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see that the container registry is per "owner" (ie, in our case that would be kubernetes, not kubernetes/autoscaler)
I have no idea what the permission model is around that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to find out whether the kubernetes org allows workflows to create new packages. This is controlled by the org's "Packages" settings. If package creation is restricted, the first push would fail and we'd need an org admin to either pre-create the package or adjust the org settings.
I can add a note in the PR description about this, or we could do a test run with workflow_dispatch to verify it works before merging. What do you think?
|
@jackfrancis what are your thoughts on this? I like it, but I don't know if we have permission to do it. |
Signed-off-by: Willian Paixao <willian@ufpa.br>
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Pull Request Description
What type of PR is this?
/kind feature
/area helm-charts
/area cluster-autoscaler
What this PR does / why we need it:
This PR adds OCI (Open Container Initiative) publishing for Helm charts to GitHub Container Registry (GHCR).
Helm 3.8+ supports OCI-based chart distribution as a GA feature, and many CNCF projects have adopted this approach (e.g., prometheus-community/helm-charts). This provides users with an alternative installation method that doesn't require adding a Helm repository first.
Changes:
.github/workflows/chart-release.yamlto push charts to GHCR after releasepackages: writepermission for GHCR accessAfter this change, users can install charts via:
The classic Helm repository continues to work alongside OCI.
Which issue(s) this PR fixes:
Fixes #7086
Special notes for your reviewer:
GITHUB_TOKENsecret already available in the workflowDoes this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: