Helm-operator: helm: support (repository) getter plugins

Created on 21 Jan 2020  路  3Comments  路  Source: fluxcd/helm-operator

Describe the feature
After a discussion with @hiddeco on slack about an issue that encountered when creating HelmRelease with a chart that has dependency chart hosted in google bucket under gs://... like URL.

---
apiVersion: flux.weave.works/v1beta1
kind: HelmRelease
metadata:
  name: servicename
  namespace: default
  annotations:
    flux.weave.works/automated: "true"
    flux.weave.works/tag.stable: semver:5.x
    flux.weave.works/tag.canary: glob:v*
spec:
  releaseName: servicename
  chart:
    git: [email protected]:company/servicename
    path: deployment/servicename
    ref: master
  values:
    stable:
      image:
        repository: eu.gcr.io/gcs-helm-repo-id/company/servicename
        tag: v1.0.1
      replicaCount: 2
    canary:
      image:
        repository: eu.gcr.io/gcs-helm-repo-id/company/servicename
        tag: v1.0.1
      replicaCount: 1

The chart in [email protected]:company/servicename contains requirements.yaml file that looks like:

dependencies:
  - name: dependency
    version: 0.0.1
    repository: gs://gcs-helm-repo-id

So in that case the operator isn't able to handle the chart in gs://gcs-helm-repo-id sinceit supports only HTTP(S) and local references file:// and it logs the following:

ts=2020-01-07T13:08:42.015422132Z caller=chartsync.go:546 component=chartsync warning="failed to update chart dependencies" resource=default:helmrelease/servicename err="could not update repo: Error: Could not find protocol handler for: gs\n"

Would that be beneficial for other users as well ?

And in case I'd like to work on that what are packages/file of the operator that I need to understand and change?

Appreciate your time :)

enhancement helm v2 helm v3 help wanted

Most helpful comment

If we're adding support for google buckets we should also cover AWS S3 that's way more popular than GS, see https://github.com/hypnoglow/helm-s3

All 3 comments

If we're adding support for google buckets we should also cover AWS S3 that's way more popular than GS, see https://github.com/hypnoglow/helm-s3

I think by enriching this part of our helm/v3 package by adding something like this from Helm v3, and mounting both binaries (AWS/S3) at the expected location ($XDG_DATA_HOME/plugins), it would work without us adopting a specific plugin, and this approach would thus have my preference.

@cbenjemaa can you confirm the following image to be working with a Helm plugin installed using helm2 plugin install or helm3 plugin install within the container? For helm2 the $HELM_HOME/plugins folder needs to exist before the install command works, and the cURL detection of the GCS plugin does not work in Alpine (so you need to install curl first).

hiddeco/helm-operator:enhancement-getter-plugins-5e0fcdb8

Was this page helpful?
0 / 5 - 0 ratings

Related issues

limscoder picture limscoder  路  3Comments

chainlink picture chainlink  路  3Comments

qvmedvedev picture qvmedvedev  路  4Comments

fredgate picture fredgate  路  5Comments

SovakPaleny picture SovakPaleny  路  4Comments