Helm-operator: New Location For Stable and Incubator Charts

Created on 22 Dec 2020  路  5Comments  路  Source: fluxcd/helm-operator

in helm-operator v1.2.0 the version of helm2 is

bash-5.0# helm2 version
Client: &version.Version{SemVer:"v2.16.3", GitCommit:"1ee0254c86d4ed6887327dabed7aa7da29d7eb0d", GitTreeState:"clean"}

But according to that page stable helm repository URL changed and helm v2.17.0 uses the new stable repository URL.

Will be a new helm-operator version using helm version 2.17.0 ?

blocked needs validation bug

Most helpful comment

Copy and pasted from slack for @stromvirvel

Having the same issue when using helm 2 and helm 3.
with helm 3 it works.
however in helm 2, the default location for repositories.yaml still contains the old stable location.
we @Chris Holly solved this by mounting our own repositories.yaml with the new stable location.

extraVolumeMounts:
  - name: repositories-yaml
    mountPath: /var/fluxd/helm/repository/repositories.yaml
    subPath: repositories.yaml
    readOnly: true
extraVolumes:
  - name: repositories-yaml
    secret:
      secretName: repositories-yaml

apiVersion: v1 kind: Secret type: Opaque metadata: name: repositories-yaml namespace: fluxcd data: repositories.yaml: YXBpVmVyc2lvbjogdjEKcmVwb3NpdG9yaWVzOgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL3N0YWJsZS1pbmRleC55YW1sCiAgICBjZXJ0RmlsZTogIiIKICAgIGtleUZpbGU6ICIiCiAgICBuYW1lOiBzdGFibGUKICAgIHBhc3N3b3JkOiAiIgogICAgdXJsOiBodHRwczovL2NoYXJ0cy5oZWxtLnNoL3N0YWJsZS8KICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2ZsdXhjZC1pbmRleC55YW1sCiAgICBjZXJ0RmlsZTogIiIKICAgIGtleUZpbGU6ICIiCiAgICBuYW1lOiBmbHV4Y2QKICAgIHBhc3N3b3JkOiAiIgogICAgdXJsOiBodHRwczovL2NoYXJ0cy5mbHV4Y2QuaW8KICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2ZsYWdnZXItaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogZmxhZ2dlcgogICAgcGFzc3dvcmQ6ICIiCiAgICB1cmw6IGh0dHBzOi8vZmxhZ2dlci5hcHAKICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2JpdG5hbWktaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogYml0bmFtaQogICAgcGFzc3dvcmQ6ICIiCiAgICB1cmw6IGh0dHBzOi8vY2hhcnRzLmJpdG5hbWkuY29tL2JpdG5hbWkKICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2F6dXJlLW1hcmtldHBsYWNlLWluZGV4LnlhbWwKICAgIGNlcnRGaWxlOiAiIgogICAga2V5RmlsZTogIiIKICAgIG5hbWU6IGF6dXJlLW1hcmtldHBsYWNlCiAgICBwYXNzd29yZDogIiIKICAgIHVybDogaHR0cHM6Ly9tYXJrZXRwbGFjZS5henVyZWNyLmlvL2hlbG0vdjEvcmVwbwogICAgdXNlcm5hbWU6ICIiCiAgLSBjYUZpbGU6ICIiCiAgICBjYWNoZTogL3Zhci9mbHV4ZC9oZWxtL3JlcG9zaXRvcnkvY2FjaGUvb3BlbmZhYXMtaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogb3BlbmZhYXMKICAgIHBhc3N3b3JkOiAiIgogICAgdXJsOiBodHRwczovL29wZW5mYWFzLmdpdGh1Yi5pby9mYWFzLW5ldGVzCiAgICB1c2VybmFtZTogIiIKICAtIGNhRmlsZTogIiIKICAgIGNhY2hlOiAvdmFyL2ZsdXhkL2hlbG0vcmVwb3NpdG9yeS9jYWNoZS9la3MtaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogZWtzCiAgICBwYXNzd29yZDogIiIKICAgIHVybDogaHR0cHM6Ly9hd3MuZ2l0aHViLmlvL2Vrcy1jaGFydHMKICAgIHVzZXJuYW1lOiAiIg==

All 5 comments

@chrisholly-skyuk What's the workaround? I cannot access this Slack channel.

Copy and pasted from slack for @stromvirvel

Having the same issue when using helm 2 and helm 3.
with helm 3 it works.
however in helm 2, the default location for repositories.yaml still contains the old stable location.
we @Chris Holly solved this by mounting our own repositories.yaml with the new stable location.

extraVolumeMounts:
  - name: repositories-yaml
    mountPath: /var/fluxd/helm/repository/repositories.yaml
    subPath: repositories.yaml
    readOnly: true
extraVolumes:
  - name: repositories-yaml
    secret:
      secretName: repositories-yaml

apiVersion: v1 kind: Secret type: Opaque metadata: name: repositories-yaml namespace: fluxcd data: repositories.yaml: YXBpVmVyc2lvbjogdjEKcmVwb3NpdG9yaWVzOgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL3N0YWJsZS1pbmRleC55YW1sCiAgICBjZXJ0RmlsZTogIiIKICAgIGtleUZpbGU6ICIiCiAgICBuYW1lOiBzdGFibGUKICAgIHBhc3N3b3JkOiAiIgogICAgdXJsOiBodHRwczovL2NoYXJ0cy5oZWxtLnNoL3N0YWJsZS8KICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2ZsdXhjZC1pbmRleC55YW1sCiAgICBjZXJ0RmlsZTogIiIKICAgIGtleUZpbGU6ICIiCiAgICBuYW1lOiBmbHV4Y2QKICAgIHBhc3N3b3JkOiAiIgogICAgdXJsOiBodHRwczovL2NoYXJ0cy5mbHV4Y2QuaW8KICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2ZsYWdnZXItaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogZmxhZ2dlcgogICAgcGFzc3dvcmQ6ICIiCiAgICB1cmw6IGh0dHBzOi8vZmxhZ2dlci5hcHAKICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2JpdG5hbWktaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogYml0bmFtaQogICAgcGFzc3dvcmQ6ICIiCiAgICB1cmw6IGh0dHBzOi8vY2hhcnRzLmJpdG5hbWkuY29tL2JpdG5hbWkKICAgIHVzZXJuYW1lOiAiIgogIC0gY2FGaWxlOiAiIgogICAgY2FjaGU6IC92YXIvZmx1eGQvaGVsbS9yZXBvc2l0b3J5L2NhY2hlL2F6dXJlLW1hcmtldHBsYWNlLWluZGV4LnlhbWwKICAgIGNlcnRGaWxlOiAiIgogICAga2V5RmlsZTogIiIKICAgIG5hbWU6IGF6dXJlLW1hcmtldHBsYWNlCiAgICBwYXNzd29yZDogIiIKICAgIHVybDogaHR0cHM6Ly9tYXJrZXRwbGFjZS5henVyZWNyLmlvL2hlbG0vdjEvcmVwbwogICAgdXNlcm5hbWU6ICIiCiAgLSBjYUZpbGU6ICIiCiAgICBjYWNoZTogL3Zhci9mbHV4ZC9oZWxtL3JlcG9zaXRvcnkvY2FjaGUvb3BlbmZhYXMtaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogb3BlbmZhYXMKICAgIHBhc3N3b3JkOiAiIgogICAgdXJsOiBodHRwczovL29wZW5mYWFzLmdpdGh1Yi5pby9mYWFzLW5ldGVzCiAgICB1c2VybmFtZTogIiIKICAtIGNhRmlsZTogIiIKICAgIGNhY2hlOiAvdmFyL2ZsdXhkL2hlbG0vcmVwb3NpdG9yeS9jYWNoZS9la3MtaW5kZXgueWFtbAogICAgY2VydEZpbGU6ICIiCiAgICBrZXlGaWxlOiAiIgogICAgbmFtZTogZWtzCiAgICBwYXNzd29yZDogIiIKICAgIHVybDogaHR0cHM6Ly9hd3MuZ2l0aHViLmlvL2Vrcy1jaGFydHMKICAgIHVzZXJuYW1lOiAiIg==

For those of you using the upgrade command:

helm2 upgrade -i helm-operator fluxcd/helm-operator \
    --namespace flux \
    --set 'extraVolumes[0].name=repositories-yaml-custom' \
    --set 'extraVolumes[0].secret.secretName=flux-helm-repositories' \
    --set 'extraVolumeMounts[0].name=repositories-yaml-custom' \
    --set 'extraVolumeMounts[0].mountPath=/var/fluxd/helm/repository/repositories.yaml' \
    --set 'extraVolumeMounts[0].subPath=repositories.yaml' \
    --set 'extraVolumeMounts[0].readOnly=true' \
    --set 'secretName=flux-helm-repositories'

Then create the secret (mine above is called flux-helm-repositories):
kubectl create secret generic flux-helm-repositories

And finally populate it with the data in @chrisjholly's answer (repositories.yaml).

the mount will work, but then the repo list is static. We have an old cluster, with some helm v2 based installs, which point at the repo via CR:

apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
  name: metallb
  namespace: lbx
spec:
  releaseName: metallb-lbx
  resetValues: true
  chart:
    repository: https://your.favourite.repo/somedir <-- ?

having to harvest all the repos and put in the file to mount is a bit painful.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

limscoder picture limscoder  路  3Comments

justinbarrick picture justinbarrick  路  4Comments

squaremo picture squaremo  路  4Comments

steven-sheehy picture steven-sheehy  路  4Comments

bitsofinfo picture bitsofinfo  路  3Comments