mariadb-operator/mariadb-operator

[Bug] Helm repo change breaks umbrella charts

Closed this issue ยท 14 comments

Documentation

Describe the bug

I deploy all my stuff with Argo CD using helm charts. All the helm charts are installed as part of an umbrella chart like this:

apiVersion: v2
name: mariadb-operator
version: '1.0'

dependencies:
- name: mariadb-operator
  repository: https://helm.mariadb.com/mariadb-operator
  version: 0.28.*

This allows me to easily add additional resource and install several charts together. The change of the helm repo that happened together with the 0.29.0/0.0.29 release causes helm dependency build on this chart to fail:

$ helm dependency build
Error: error unpacking 0.28.1 in mariadb-operator: Chart.yaml file is missing

I think this happens, because the URLs in the index.yaml end with just the version. Even though the URLs redirect to URLs that end with .tgz, helm seems to use the filename of the original URL.

Same workload, same problem.
It was working a month ago (version 0.28.1)

I have the same problem.

It seems to be related to not having the filename in: #676
@mmontes11 , is this on your radar?

I think it's the change in urls:
from:
- https://github.com/mariadb-operator/mariadb-operator/releases/download/helm-chart-0.28.1/mariadb-operator-0.28.1.tgz
to:
- https://helm.mariadb.com/mariadb-operator/0.28.1
that makes helm dep update to store the file as 0.28.1 instead of mariadb-operator-0.28.1.tgz that make's helm confused

This is probably the last version that is working
cf2ef72
(I think it's before using hack/helm-index.sh to update the indexes, but unsure)

Ugly workaround:
cd charts; mv 0.28.1 mariadb-operator-0.28.1.tgz
And remove add it to git, remove the dependencie from Chart.yaml is getting it up. It's the same checksum of the file (and same content, but wrong name)

@sennerholm you gave me the idea to use https://raw.githubusercontent.com/mariadb-operator/mariadb-operator/cf2ef72316839bf8423600fb7305c77711fbfbb4 as the repository, that works for now.

this will be fixed shortly, hopefully before July 15. I will make it a point to notify you so that you can revert from the workaround
@sennerholm @pschichtel @AndrzejOlender @julien-redel

Hey there! Thanks everyone for the investigation, much appreciated.

We will look into this very soon. The idea is supporting the same URL format in the new helm registry:

From:
https://helm.mariadb.com/mariadb-operator/0.28.1

To:
https://helm.mariadb.com/mariadb-operator/releases/download/helm-chart-0.28.1/mariadb-operator-0.28.1.tgz

This way, the file path will be available on the URL, which seems to be the reason that is causing helm to misbehave. Will get back to you when the change is done.

Sorry for the inconvenience!

This has been addressed, the index.yaml URLs preserve the previous format:
https://helm.mariadb.com/mariadb-operator/index.yaml

@sennerholm @pschichtel @AndrzejOlende @julien-redel
Could you give it a try? I did manage to install the helm chart as dependency without any issues

works, thanks!

@pschichtel great! sorry for the inconvenience folks!

Works for me to, thanks for the fix

Works for me, thanks !