📄 Templating
Helmwave uses Go templates for templating.
Helmwave supports all built-in functions / sprig / gomplate / custom.
Since v0.17.0. You can chose template engine with next flag:
--templater value Select template engine: sprig or gomplate (default: "sprig") [$HELMWAVE_TEMPLATER, $HELMWAVE_TEMPLATE_ENGINE]
Sprig
If you've ever written helm charts, then you're already familiar with it.
http://masterminds.github.io/sprig/
Gomplate
gomplate is a template renderer which supports a growing list of datasources, such as: JSON (including EJSON - encrypted JSON), YAML, AWS EC2 metadata, BoltDB, Hashicorp Consul and Hashicorp Vault secrets.
Custom
toYaml
marshals a map into a stringfromYaml
reads a golang string and generates a mapreadFile
get file as stringhasKey
get true if field is existsget
(Sprig's originalget
is available assprigGet
)setValueAtPath
PATH NEW_VALUE traverses a golang map, replaces the value at the PATH with NEW_VALUErequiredEnv
The requiredEnv function allows you to declare a particular environment variable as required for template rendering. If the environment variable is unset or empty, the template rendering will fail with an error message.