rancher / elemental-operator

The Elemental operator is responsible for managing the OS versions and maintaining a machine inventory to assist with edge or baremetal installations.
Apache License 2.0
42 stars 17 forks source link

Make helm charts argocd compatible #826

Open MikeMichel opened 2 months ago

MikeMichel commented 2 months ago

Deploying crds with argocd fails with: Unable to create application: application spec for elemental-operator is invalid: InvalidSpecError: Unable to generate manifests in : rpc error: code = Unknown desc = failed to walk for symlinks in /tmp/c880912f-9793-440b-a347-ca96b8307b6a/elemental-operator-crds-chart: lstat /tmp/c880912f-9793-440b-a347-ca96b8307b6a/elemental-operator-crds-chart: no such file or directory

This is because argocd untars the charts tgz and expects a subfolder with the same name as the chart itself defined in the config:

  source:
    repoURL: registry.suse.com/rancher
    targetRevision: 1.5.4
    chart: elemental-operator-crds-chart

But extractingelemental-operator-crds-chart-1.5.4.tgz creates a folder named elemental-operator-crds so the -chart part is missing and argocd fails.

Same for the operator chart.

kkaempf commented 2 months ago

Good catch, thanks for reporting this.

kkaempf commented 2 months ago

Thinking about this, we're not sure if this is an Elemental or an ArgoCD bug. 🤔

Helm seems to be happy with the Charts as they are.

@MikeMichel do you have any references about ArgoCD's naming policy ?

MikeMichel commented 2 months ago

Afaik there is no naming policy. I guess they expect the packaging is done with helm package where the name of the created tgz is the same like name in Chart.yaml or to be precise CHART_NAME-VERSION.tgz

davidcassany commented 2 months ago

Following Rancher conventions we could consider renaming the charts as:

That way we would also align with marketplace charts.