apache / apache/solr-operator

Publish helm charts in OCI registry

Open
#813 2 comments 1 reaction 1 assignee Claimed by @janhoy View on GitHub
enhancement helm
Dominant language
Go
Stars
283
Forks
148
PR merge metrics
No merged PRs in 30d

Description

We publish helm charts in the classic format at https://nightlies.apache.org/solr/release/helm-charts/

As Helm has now supported OCI for a few years, the old `helm repo add` mechanism has become less used and represents more steps to do for the end user. Also users have reported issues with our current nightlies host, see #812.

I propose the following for our two helm charts:

1. Get a public OCI location under the `apache` namespace
2. Publish the current chart versions to OCI, plus the still-supported older releases so users can pin and upgrade
3. Update the release process to publish new charts to both HTTPS and OCI
4. Announce to users that the classic HTTPS chart repo is deprecated
5. Publish to OCI only from `v1.0.0` onwards, and stop updating the HTTPS chart repo

On where to publish: GHCR is a better fit than Docker Hub. Docker Hub only supports a single namespace level, and `helm push` takes the chart name from `Chart.yaml`, so on Docker Hub the charts can only land as `apache/solr` and `apache/solr-operator`. That spends the `apache/solr` name on a chart rather than leaving it for a Solr server image, and mixes chart tags and image tags in the same repo. GHCR supports nested paths, so the charts can be namespaced away from the image names while still being named `solr` and `solr-operator`. Public GHCR packages are anonymously pullable, and publishing from CI needs no new secrets. Docker Hub stays available as a second location later if we want it.

One caveat either way: GHCR creates new packages as private, and there is no API to change that, so an INFRA ticket is needed once per chart name to make the package public.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.