Extracted from https://github.com/roboll/helmfile/issues/122#issuecomment-499310848
I believe we need it to start real-world testing with helm 3.
Would love to see. @mumoshu how involved is this to implement?
I guess you already know but beta.2 is available :)
beta.3 available
Assuming you have helm v3 binary ~/bin/helm3b3, try it like:
HELMFILE_HELM3=1 helmfile --log-level=debug --helm-binary ~/bin/helm3b3 sync
// You don't need --helm-binary ~/bin/helm3b3 if you've fully migrated to helm v3 i.e. just running helm runs helm 3.
build, list, sync, lint, template, test, repos, charts, status, delete, destroy should just work. diff and apply won't work as they both use helm-diff which doesn't support helm 3 yet.
deps is tested but not working at least for stable/mysql chart. Any clue to this?
Updating dependency /var/folders/lx/53d8_kgd26vf5_drrg89wkvc0000gp/T/800498063
exec: /Users/mumoshu/bin/helm3b3 dependency update /var/folders/lx/53d8_kgd26vf5_drrg89wkvc0000gp/T/800498063
exec: /Users/mumoshu/bin/helm3b3 dependency update /var/folders/lx/53d8_kgd26vf5_drrg89wkvc0000gp/T/800498063:
err: unable to update deps: unable to resolve 1 deps: helm3b3 exited with status 1:
Error: validation: chart.metadata.version is required
in ./helmfile.yaml: unable to update deps: unable to resolve 1 deps: helm3b3 exited with status 1:
Error: validation: chart.metadata.version is required
helm-3.0.0-beta.3 has a regression that makes helm diff upgrade --detailed-exitcode unable to work correctly https://github.com/helm/helm/issues/6384
Update: The fix on helm v3 is in-progress at https://github.com/helm/helm/pull/6385
Update: https://github.com/helm/helm/pull/6385 has been merged
The minimal change on helm-diff is at https://github.com/databus23/helm-diff/pull/149. Clone it and run HELM_HOME=$HOME/Library/helm make install in the project root for testing with helm3 and #841.
Note that the plugins directory has changed from $HOME/.helm/plugins to $HOME/Library/helm/plugins in Helm 3 which requires you to set HELM_HOME=$HOME/Library/helm.
Also try running helm env w/ Helm 3 to see other additional Helm envvars that helps you understand where various confgiuration directories are located at.
Probably we may need to set api version in the temporary Chart.yaml generated in helmfile deps to v1 once helm v3 becomes generally available: https://github.com/helm/helm/issues/5907
helmfile deps should work w/ helm 3 after #842
Two things has been addressed in the PR:
requirements.yaml to Chart.yamlrequirements.lock is now Chart.lockI appreciate the great work you're doing, @mumoshu! Will definitely give this a try, given that we're currently using helmfile in tillerless mode, but we experience occasional freezes (timeouts when doing a sync)... probably has something to do with the helm-tiller plugin. We hope helmv3 will prove to be more robust over the time.
By the way, I wrote an article with our experience in using helmfile (we're using it at Adobe for a few projects) and the feedback has been great (both internally and externally). Hope it leads to an increased adoption of helmfile so keep up the good work. The article is on medium if you're curious - https://itnext.io/setup-your-kubernetes-cluster-with-helmfile-809828bc0a9f
What is the current status of helm 3 support?
@cdunford It's fully supported by default. Just provide a helm binary of v3 and it should just work. Please note though that some charts are broken in terms of helm v3 compatibility as revealed in #1000
@cdunford It's fully supported by default. Just provide a
helmbinary of v3 and it should just work. Please note though that some charts are broken in terms of helm v3 compatibility as revealed in #1000
how about things like tiller namespace in helmfile? could you provide a working example of helmfile for helm 3, please?
Lots of example Helm Charts in the official Helm Chart repo at https://github.com/helm/charts/tree/master/stable. Also, the helmfile readme has examples: https://github.com/roboll/helmfile
from readme:
#default values to set for args along with dedicated keys that can be set by contributers, cli args take precedence over these
helmDefaults:
tillerNamespace: tiller-namespace #dedicated default key for tiller-namespace
tillerless: false #dedicated default key for tillerless
is it also valid for helm3?
Tiller doesn't exist in Helm 3 so probably don't use any of these if you are using Helm 3.
Thanks! Yes, that's correct. tiller-namespace is ignored for Helmfile + Helm 3.
Most helpful comment
I appreciate the great work you're doing, @mumoshu! Will definitely give this a try, given that we're currently using helmfile in tillerless mode, but we experience occasional freezes (timeouts when doing a sync)... probably has something to do with the helm-tiller plugin. We hope helmv3 will prove to be more robust over the time.
By the way, I wrote an article with our experience in using helmfile (we're using it at Adobe for a few projects) and the feedback has been great (both internally and externally). Hope it leads to an increased adoption of helmfile so keep up the good work. The article is on medium if you're curious - https://itnext.io/setup-your-kubernetes-cluster-with-helmfile-809828bc0a9f