Debugging Templates

Debugging templates can be tricky because the rendered templates are sent to theKubernetes API server, which may reject the YAML files for reasons other thanformatting.

There are a few commands that can help you debug.

  • helm lint is your go-to tool for verifying that your chart follows bestpractices
  • helm install —dry-run —debug or helm template —debug: We’ve seen thistrick already. It’s a great way to have the server render your templates,then return the resulting manifest file.
  • helm get manifest: This is a good way to see what templates are installed onthe server.When your YAML is failing to parse, but you want to see what is generated, oneeasy way to retrieve the YAML is to comment out the problem section in thetemplate, and then re-run helm install —dry-run —debug:
  1. apiVersion: v2
  2. # some: problem section
  3. # {{ .Values.foo | quote }}

The above will be rendered and returned with the comments intact:

  1. apiVersion: v2
  2. # some: problem section
  3. # "bar"

This provides a quick way of viewing the generated content without YAML parseerrors blocking.