Skip to content

charts: publish helm chart on Artifact Hub - #1563

Open
qinqon wants to merge 5 commits into
nmstate:mainfrom
qinqon:release-notes-helm
Open

charts: publish helm chart on Artifact Hub#1563
qinqon wants to merge 5 commits into
nmstate:mainfrom
qinqon:release-notes-helm

Conversation

@qinqon

@qinqon qinqon commented Jul 29, 2026

Copy link
Copy Markdown
Member

Is this a BUG FIX or a FEATURE?:

/kind enhancement

What this PR does / why we need it:

The chart is published to quay.io/nmstate/kubernetes-nmstate since v0.87.0, but nothing tells users about it and the chart is not discoverable. This adds the missing pieces:

  1. Helm instructions in the release notes (hack/release-notes.tmpl). The generated notes only documented the manifest based installation. Rendered output:

    ## With Helm
    
    helm install nmstate oci://quay.io/nmstate/kubernetes-nmstate \
      --version 0.87.0 \
      --namespace nmstate \
      --create-namespace
    

    The helm path does not need the separate NMState CR step, since the chart creates it by default (nmstate.enabled=true).

  2. A chart README (charts/kubernetes-nmstate/README.md). Artifact Hub renders the chart README as the package page body, and the chart did not ship one, so the page would be empty. It covers install, values, usage, upgrade and uninstall.

  3. Artifact Hub repository metadata (hack/artifacthub-repo.yml), carrying the ownership information.

Special notes for your reviewer:

Listing the chart on Artifact Hub is a manual step that still has to be done: sign in at artifacthub.io, create an nmstate organization and add a repository of kind Helm charts with the url oci://quay.io/nmstate/kubernetes-nmstate. From then on new chart versions are indexed automatically. This PR only provides what the repository side has to contribute.

Two consequences worth knowing:

  • repositoryID in hack/artifacthub-repo.yml is empty on purpose, the value only exists once the repository has been added. Filling it in later enables the Verified publisher flag. The owners section alone is enough for the ownership claim.
  • The README will only show up on Artifact Hub from the next release on, since Artifact Hub reads it from the chart package and 0.87.0 is already published without it.

The metadata file is pushed by hand with oras (the command is in the file header). It changes rarely, so no release automation was added for it, and the chart push itself is unchanged.

For reference, MetalLB is set up the same way: registered manually, artifacthub-repo.yml with repositoryID plus owners, chart README, and no artifacthub.io/* annotations, which is why none were added here.

Verified with make lint-helm and make whitespace-check, and by packaging the chart to confirm README.md ends up inside the tarball. The rendered release notes were checked against the v0.87.0 ones produced by CI: same changelog body, only the Installation section differs.

Release note:

NONE

The chart is published to quay.io since v0.87.0, but the generated release
notes only describe the manifest based installation. Add the helm command
next to it, and note that the chart also creates the NMState custom
resource, so it is a single step.

Assisted-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>
Copilot AI review requested due to automatic review settings July 29, 2026 10:21
@kubevirt-prow kubevirt-prow Bot added release-note-none Denotes a PR that doesn't merit a release note. kind/enhancement dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Jul 29, 2026
@kubevirt-prow

kubevirt-prow Bot commented Jul 29, 2026

Copy link
Copy Markdown

[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 phoracek 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

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds Helm installation guidance to generated release notes.

Changes:

  • Documents OCI-based Helm installation.
  • Explains default NMState resource creation.
  • Retains manifest installation as an alternative.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

The chart is published to quay.io as an OCI artifact, but it is not listed
on Artifact Hub, where users look for charts. Registering the repository
there is a manual step, these are the pieces the repository has to provide.

Artifact Hub renders the chart README as the package page, and the chart
did not ship one, so the page would be empty. The repository metadata file
carries the ownership information, it is pushed to the chart repository
under the artifacthub.io tag.

Assisted-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>
@kubevirt-prow kubevirt-prow Bot added size/L and removed size/S labels Jul 29, 2026
@qinqon qinqon changed the title hack: add helm install instructions to release notes charts: publish helm chart on Artifact Hub Jul 29, 2026
The repository has been added to Artifact Hub, so the identifier is known
now. It enables the "Verified publisher" flag, and the metadata file has
already been pushed to the chart repository under the artifacthub.io tag.

Assisted-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>
@qinqon
qinqon force-pushed the release-notes-helm branch from 03365e6 to ddef57b Compare July 29, 2026 10:43
qinqon added 2 commits July 29, 2026 14:44
The listing shows no license, because Artifact Hub takes it from a LICENSE
file inside the chart package or from the annotation, and the chart ships
neither. Add the annotation and a couple of documentation links.

Assisted-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>
The Artifact Hub repository metadata file was not referenced anywhere, so
there was nothing telling a reader that it exists, what it is for or how it
reaches the registry. Describe it in the developer guide, next to the rest
of the chart publishing.

Assisted-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>
@kubevirt-prow

kubevirt-prow Bot commented Jul 29, 2026

Copy link
Copy Markdown

@qinqon: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-kubernetes-nmstate-e2e-upgrade-k8s e19ab47 link false /test pull-kubernetes-nmstate-e2e-upgrade-k8s
Details

Instructions 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. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Indicates the PR's author has DCO signed all their commits. kind/enhancement release-note-none Denotes a PR that doesn't merit a release note. size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants