Skip to content

[ALL CHARTS] publish Prometheus community charts to OCI registry #2454

Open
@scottrigby

Description

@scottrigby

Is your feature request related to a problem ?

This January Helm completed and released full OCI support, moving OCI from experimental to a fully supported feature. Since then users have been able to install Helm charts completely from OCI rather than only from Helm HTTP repos.

However, Prometheus community Helm chart users are not able to pull or install Prometheus charts using Helm's OCI registry support, because they are not yet published to a registry.

Additionally, OCI method can reduce memory usage for users installing charts using an agent in the cloud rather than running the Helm client on their local machine, such as Flux. This is especially true of Helm repos with many charts, such as this Prometheus community charts repo, which contains over 30 charts. In a similarly large Helm repo, Bitnami has recently removed all Helm chart package versions older than six months from their repository because the index file has become too large to support all past versions.

Describe the solution you'd like.

Publish all existing Prometheus community chart package versions to an OCI registry.

  • GitHub Packages on ghcr.io would be the easiest way to set this up
  • Community Flux charts publish to ghcr.io. We have automation set up for this, which we can emulate
  • As an admin of this Prometheus community charts repo, and also as a Helm and Flux maintainer, I can help set this up here as well
  • The additional OCI support here will not affect the existing HTTP Helm repo support users currently depend on. It will just give those and other users another option to use OCI as well or as a replacement

Describe alternatives you've considered.

We could publish to some other OCI registry, or not publish at all.
If we don't at all, I think the most likely scenario is someone else will fork and set it up on their own.
I believe it will be better to support this here, so all packages are connected to one Git repo.

Additional context.

I don't imagine any objection here. Mainly opening this issue to track the work and for transparency. Will keep status updated here 💖

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions