kubernetes-sigs / cluster-api-addon-provider-helm

CAAPH uses Helm charts to manage the installation and lifecycle of Cluster API add-ons.
Apache License 2.0
125 stars 32 forks source link

Support for OCI based helm repositories #75

Closed tuxtof closed 1 year ago

tuxtof commented 1 year ago

User Story

As a user I would like to be able to use OCI-based registries to deploy my charts.

Detailed Description

Since Helm 3.8.0 OCI support is GA.

Now a Helm repository can be stored inside a OCI-based registry, it simplify the approach to distribute chart by having both chart and container in a common registry

We need to be able to define inside an HelmChartProxy an OCI Helm repo like

apiVersion: addons.cluster.x-k8s.io/v1alpha1
kind: HelmChartProxy
metadata:
  name: mychart
spec:
  clusterSelector:
    matchLabels:
      myChart: enabled
  repoURL: oci://my-harbor-registry/helm-repo
  chartName: mychart

We need also to be able to support any kind of private registry (auth, cert,...)

Anything else you would like to add:

I would expect it works out of the box

but for the moment I get the following error

manager E0517 17:05:23.932359       1 controller.go:326] "Reconciler error" err="error installing or updating chart with Helm on cluster cluster1: looks lik
e \"oci://my-harbor-registry/helm-repo\" is not a valid chart repository or cannot be reached: object required" controller="helmreleaseproxy" controllerGroup="addons.clust
er.x-k8s.io" controllerKind="HelmReleaseProxy" HelmReleaseProxy="default/cilium-cluster1-7x7fk" namespace="default" name="cilium-cluster1-7x7fk" reconcileID
=fc85a698-5cf0-4724-910b-dab00427499d

I not yet check the code

/kind feature

Jont828 commented 1 year ago

/triage accepted

Jont828 commented 1 year ago

/assign manoj-nutanix

k8s-ci-robot commented 1 year ago

@Jont828: GitHub didn't allow me to assign the following users: manoj-nutanix.

Note that only kubernetes-sigs members with read permissions, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. For more information please see the contributor guide

In response to [this](https://github.com/kubernetes-sigs/cluster-api-addon-provider-helm/issues/75#issuecomment-1565066349): >/assign manoj-nutanix Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
manoj-nutanix commented 1 year ago

FYI, I've raised PR to fix this issue. It aligns well, with the CR spec provided here in description. For user, no specific understanding would be required to specify inputs for OCI charts, it'll be similar to any other helm charts.