Render Go text templates from the command line.
go get github.com/gomatic/renderizer/v2/cmd/renderizer
Supports providing top-level name/value pairs on the command line:
echo 'Hello, {{.User}}' | renderizer --user=${USER}
And read from the environment:
echo 'Hello, {{.env.USER}}' | renderizer
renderizer [OPTIONS] [--name=value]... [template-file]...
Render the pod.yaml.tmpl using values from examples/pod/.renderizer.yaml:
renderizer --settings=examples/pod/.pod.yaml examples/pod/pod.yaml.tmpl
Or set RENDERIZER in the environment:
RENDERIZER=examples/.pod.yaml renderizer examples/pod/pod.yaml.tmpl
Alternatively, it'll try .pod.yaml in the current directory.
(cd examples/pod; renderizer)
Next, override the deployment value to render the "dev" pod.yaml.tmpl (after cd examples/pod):
renderizer --deployment=dev --name='spaced out'
For more examples, see the examples folder.
Settings can be loaded from any YAMLs:
renderizer --settings=.settings1.yaml --settings=.settings2.yaml --name=value template-file
This is a positional toggle flag.
Variable names are converted to title case by default. It can be disabled for any subsequent variables:
renderizer --name=value -C --top=first template-file
Sets:
Name: value
top: first
Control the missingkeys template-engine option:
renderizer --missing=zero --top=first template-file
Provide a name for the environment variables:
renderizer --environment=env template-file
It defaults to env which is effectively the same as the above --environment=env.
For the full list, see functions.txt.tmpl
add-func(a, b int) intcleanse-func(s string) string- remove[^[:alpha:]]commandLine-func() stringthe command lineenvironment-map[string]string- the runtime environmentinc-func(a int) intjoin-func(a []interface, sep string) stringlower-strings.ToLowernow-time.Nowreplace-strings.Replacetrim-strings.TrimtrimLeft-strings.TrimLefttrimRight-strings.TrimRightupper-strings.ToUpper