Helmfile: FR: Use non-packaged chart from Git repositories

Created on 15 Jan 2019  路  4Comments  路  Source: roboll/helmfile

I'd love to be able to release from non-packages helm repositories, directly from git, with a ref and path specification.

Example:

repositories:
  - name: cert-manager
    git: https://github.com/jetstack/cert-manager
    ref: release-0.5
    path: contrib/charts

releases:
  - name: cert-manager
    chart: cert-manager/cert-manager
    namespace: networking
  - name: vault
    chart: cert-manager/vault
    namespace: security

See cert-manager and vault charts from here: https://github.com/jetstack/cert-manager/tree/release-0.5/contrib/charts

Note:

  • cert-manager has a requirements.yml which reference a local chart, so helm dependency update should be run for the chart before installing it, so the chart has to be considered as a local one.
  • We can use git sparse checkout to limit the fetch size

Related: #214

documentation good-first-issue

Most helpful comment

@aslafy-z this looks great! Going to add it to http://github.com/cloudposse/geodesic

We've been using https://github.com/sagansystems/helm-github, which doesn't support git schemes and therefore doesn't work well with helmfile. .

All 4 comments

@aslafy-z Hey! Thanks a lot for raising this issue!

I do hear about the exact use-case, which I find very useful. But I believe it is best solved by developing a helm downloader plugin, something like https://github.com/hypnoglow/helm-s3 but for github.

I'm eager to add a short guide for the usage once someone actually write one!

Thank you for the infos, I went ahead and made one: https://github.com/aslafy-z/helm-git

It:

  • Loads charts from SSH or HTTPS repos.
  • Build them if they aren't.
  • Update dependencies while building.
  • Allows to set Git ref (branch / tag / commit)
  • Allows to set sub-path to get charts (path/to/charts)

There are still work to do to make it resilient but it fits exactly my needs. I'd be so glad when I'll be able to use it within helmfile (#214).

Hey. You are AWESOME!

Now I'd add a short guide for it.

In addition to that, I wonder if it would be even nicer if we start bundling selected helm plugins into our helmfile docker image. Yours and helm-s3(#220) would be the most requested ones. WDYT?

Btw, you don't need #214 to use your plugin with helmfile. Just install the helm plugin beforehand, and add your helm-git-backed chart repositories under repositories: in your helmfile.

@aslafy-z this looks great! Going to add it to http://github.com/cloudposse/geodesic

We've been using https://github.com/sagansystems/helm-github, which doesn't support git schemes and therefore doesn't work well with helmfile. .

Was this page helpful?
0 / 5 - 0 ratings