bitnami / charts

Bitnami Helm Charts
https://bitnami.com
Other
9.08k stars 9.25k forks source link

Chart repo problems? #30609

Closed brightdroid closed 6 days ago

brightdroid commented 1 week ago

Name and Version

different, e.g. postgresql

What architecture are you using?

None

What steps will reproduce the bug?

  1. helm show chart --repo https://charts.bitnami.com/bitnami postgresql --version 16.2.2

What is the expected behavior?

Chart info for version 16.2.2

What do you see instead?

Error: invalid_reference: invalid tag

Additional information

helm show chart of version 16.2.1 works without problem.

rjacks24 commented 1 week ago

I'm getting the same for helm show chart --repo https://charts.bitnami.com/bitnami rabbitmq --version 15.0.7 15.0.6 works First noticed this at November 22, 2024 at 5:32am

carrodher commented 1 week ago

This is likely related to this upstream issue: https://github.com/helm/helm/issues/13466.

As announced at https://github.com/bitnami/charts/issues/30110, we recently changed the URL field in the index.yaml to use OCI.

brightdroid commented 1 week ago

So the repo at https://charts.bitnami.com/bitnami is deprecated and only oci will be available?

Problem: kustomize does not support OCI repos - is there any solution for this?

carrodher commented 1 week ago

As reported in https://github.com/helm/helm/issues/13466, this problem stems from how the helm ... --repo ... command handles an index.yaml file containing OCI URLs.

Why is this issue appearing now?

Historically, Bitnami Helm charts were accessed by adding the Bitnami repository to the Helm CLI:

$ helm repo add bitnami https://charts.bitnami.com/bitnami

or by directly installing/pulling a specific Helm chart using the --repo flag:

$ helm pull --repo https://charts.bitnami.com/bitnami foo

In April 2023, Bitnami introduced support for the OCI format, recommending OCI-based installation as the primary method going forward. For example:

helm pull oci://registry-1.docker.io/bitnamicharts/external-dns --version 8.6.0

As detailed in our recent announcement and https://github.com/bitnami/charts/issues/30110, the traditional method is now being deprecated. Consequently, the index.yaml served at https://charts.bitnami.com/bitnami now uses OCI URLs, exposing the above mentioned issue in the Helm CLI's handling of these URLs.

brightdroid commented 1 week ago

Problem two: kustomize does not support OCI repos

So no more kustomize with bitnami charts?

cglacet commented 1 week ago

Do we have to migrate everything? What are the minimal changes that can be made to migrate? Is there any solution for skaffold?

bh-tt commented 6 days ago

We noticed this as well, and ran into problems with our setup that does not have direct internet access. Helm does not seem to provide a way to change the hostnames to our own mirror, which means we cannot deploy any bitnami helm charts. Quite strange, since most container-related tooling allows defining mirrors for each upstream registry (e.g. when you need to go to registry-1.docker.io for a container, instead use the docker-io.registry.example.com host to circumvent rate limits).

I suppose its just as well we recently changed most of our bitnami charts to kustomize bases from the upstream itself or our own plain yaml (see #30136).

jasaltvik commented 6 days ago

Problem two: kustomize does not support OCI repos

So no more kustomize with bitnami charts?

I think they actually do support it, but it's been quite the confusing journey: https://github.com/kubernetes-sigs/kustomize/pull/5167 (fixed in 5.2.1)

This works for me with kustomize build --enable-helm

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

helmCharts:
- name: redis
  repo: oci://registry-1.docker.io/bitnamicharts/bitnami
  version: 20.3.0
  releaseName: redis-sentinel
  valuesFile: configs/helm-redis.yaml
  namespace: test
❯ kustomize version
v5.5.0

Unless I'm misunderstanding something here 😅

brightdroid commented 6 days ago

Thanks tried it again, got it working in argocd with this config:

---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

helmCharts:
  - name: postgresql
    repo: oci://registry-1.docker.io/bitnamicharts
    releaseName: pg17
    namespace: postgres
    version: 16.2.2
    valuesFile: values.yaml