kubernetes-sigs / metrics-server

Scalable and efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
https://kubernetes.io/docs/tasks/debug-application-cluster/resource-metrics-pipeline/
Apache License 2.0
5.73k stars 1.86k forks source link

Publish helm chart also as an OCI package (e.g. on GHCR registry) #1527

Open nlamirault opened 1 month ago

nlamirault commented 1 month ago

Could you push the packaged Helm chart also on ghcr.io, so we can pull/install the helm chart like this:

helm install metrics-server oci://ghcr.io/xxxxxxxx --version x.y.z
dgrisonnet commented 1 month ago

/triage accepted /kind feature

@stevehipwell that sounds interesting, wdyt?

stevehipwell commented 1 month ago

@dgrisonnet I like this idea.

For context I tried to engage the community to create a registry.k8s.io pattern for publishing Helm charts, which I think would be the best solution. Personally I publish all my Helm charts to GHCR in addition to GH Pages and recommend the use of OCI over the legacy registry. The only reason I hadn't implemented publishing to GHCR for the sigs Helm charts I maintain is because I didn't think it would be approved.

I guess the point I'm getting to is that should there be a sigs level discussion on how and where to publish Helm charts? In scope could also be porting the Helm publish logic to Prow, which I'd be happy to work on if I could get my head around how the system was structured.

kranurag7 commented 1 month ago

Hey @stevehipwell, have you already started discussion around this?

I think for now, we can proceed with adding an additional package to ghcr.io and when we have access to registry.k8s.io then we can migrate the URL with a change (this would be breaking if people already start relying on ghcr.io package and helm doesn't support redirection, AFAIK). In extension to this, we can use artifacthub.io and map the OCI registry with the artifact.

stevehipwell commented 1 month ago

@kranurag7 I've started several discussions over the years trying to get a consensus for a standard sigs pattern for publishing Helm charts, but none of these have generated enough traction. I'd suggest starting a new discussion. I'd also suggest holding off on this work until the discussion has started.

The actual work do do this is trivial, the harder bit is defining the registry pattern. I would also expect to require sigs level orchestration to generate the GHCR package registry to publish the chart into and I'm not sure if this is currently supported.