Reputation: 16834
Sometimes I d'like to log something while a helm templates is executed. In Java this would look something like this:
LOGGER.debbug("My value is {}", value);
There is Notes.txt, which could help in some situations. But it would be nice if I could add a logging statement for debugging purposes just at the right place in a template.
Upvotes: 1
Views: 5047
Reputation: 158706
I don't believe Helm has anything directly like this: I don't think there's a way to write anything to stdout from a template while helm install
is executing.
You already know about the NOTES.txt
file. Depending on what exactly you're trying to debug, another option is to write a YAML comment into the output:
metadata:
# chart={{ .Chart.Name }} release={{ .Release.Name }}
name: {{ include "mychart.fullname" . }}
Go template comments {{/* ... */}}
will be consumed by the template parser, but Helm isn't really aware of # ...
YAML comments, and they'll be output with the rest of the template.
If this is a new project, I'd also consider writing a Go-based Kubernetes operator instead of a Helm chart if your installation logic is so complex that putting logging in your templates sounds like a good idea. Go's syntax is a little less weird, it's easier to find people who know Go than Helm, and the general software ecosystem is much richer (there are a couple of reasonably standard Go logging packages for example).
Upvotes: 2