Helm Git
helm-git is a helm downloader plugin that provides GIT protocol support.
This fits the following use cases:
- Need to keep charts private.
- Doesn't want to package charts before installing.
- Charts in a sub-path, or with another ref than master.
- Pull values files directly from (private) Git repository.
Installation⚑
helm plugin install https://github.com/aslafy-z/helm-git --version 0.11.1
Usage⚑
helm-git
will package any chart that is not so you can directly reference paths to original charts.
Here's the Git urls format, followed by examples:
git+https://[provider.com]/[user]/[repo]@[path/to/charts][?[ref=git-ref][&sparse=0][&depupdate=0]]
git+ssh://git@[provider.com]/[user]/[repo]@[path/to/charts][?[ref=git-ref][&sparse=0][&depupdate=0]]
git+file://[path/to/repo]@[path/to/charts][?[ref=git-ref][&sparse=0][&depupdate=0]]
git+https://github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2&sparse=0
git+ssh://git@github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2&sparse=1
git+ssh://git@github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2
git+https://github.com/istio/istio@install/kubernetes/helm?ref=1.5.4&sparse=0&depupdate=0
Add your repository:
helm repo add cert-manager git+https://github.com/jetstack/cert-manager@deploy/charts?ref=v0.6.2
You can use it as any other Helm chart repository. Try:
$ helm search cert-manager
NAME CHART VERSION APP VERSION DESCRIPTION
cert-manager/cert-manager v0.6.6 v0.6.2 A Helm chart for cert-manager
$ helm install cert-manager/cert-manager --version "0.6.6"
Fetching also works:
helm fetch cert-manager/cert-manager --version "0.6.6"
helm fetch git+https://github.com/jetstack/cert-manager@deploy/charts/cert-manager-v0.6.2.tgz?ref=v0.6.2