Helm export YAML files locally (just use templating engine, do not send to Kubernetes)

5/29/2018

I want to export already templated Helm Charts as YAML files. I can not use Tiller on my Kubernetes Cluster at the moment, but still want to make use of Helm Charts. Basically, I want Helm to export the YAML that gets send to the Kubernetes API with values that have been templated by Helm. After that, I will upload the YAML files to my Kubernetes cluster.

I tried to run .\helm.exe install --debug --dry-run incubator\kafka but I get the error Error: Unauthorized.

Note that I run Helm on Windows (version helm-v2.9.1-windows-amd64).

-- j9dy
kubernetes
kubernetes-helm

3 Answers

5/29/2018

We need logs to check the Unauthorized issue.

But you can easily generate templates locally:

helm template mychart

Render chart templates locally and display the output.

This does not require Tiller. However, any values that would normally be looked up or retrieved in-cluster will be faked locally. Additionally, none of the server-side testing of chart validity (e.g. whether an API is supported) is done.

More info: https://docs.helm.sh/helm/#helm-template

-- Amrit Bera
Source: StackOverflow

5/15/2019

Amrit Bera's solution will only work with local helm chart, per the details of your question you want it to work with remote helm chart, that's a feature that will be added to Helm v3 (Work in Progress currently).

RehanSaeed posted the following workaround (https://github.com/helm/helm/issues/4527)

Basically:

mkdir yamls
helm fetch --untar --untardir . 'stable/redis' #makes a directory called redis 
helm template --output-dir './yamls' './redis' #redis dir (local helm chart), export to yamls dir

The good thing about this is you can mix this technique with weaveworks flux for git ops + this gives you another option for using Helm v2 without tiller, in addition to the Tiller Plugin (which lets you run tiller locally, but doesn't work smoothly).

-- neokyle
Source: StackOverflow

11/17/2018

Straight from the helm install --help

To check the generated manifests of a release without installing the chart,
the '--debug' and '--dry-run' flags can be combined. This will still require a
round-trip to the Tiller server.
-- George Miller
Source: StackOverflow