diff options
author | Jude Venn <judev@cuttlefish.com> | 2019-04-29T22·13+0100 |
---|---|---|
committer | Vincent Ambo <github@tazj.in> | 2019-05-01T22·30+0100 |
commit | 6353ed9d142412ee2c9c656c47459c56b3cdf698 (patch) | |
tree | 2ca35bd912b7d5e232f9d6fd9963f45ce9ebf6db /templater | |
parent | 8abe03de3c75dd1dc1f2f65ff71b1ec3888208c2 (diff) |
feat(templater): Add insertTemplate function
Similar to insertFile, but runs the templating against the file before inserting. This is useful for sharing common config between yaml files, e.g. volume mounts in a deployment.yaml and cronjob.yaml, and it's useful to be able to use the `configHash` annotation pattern with a templated configmap.yaml
Diffstat (limited to 'templater')
-rw-r--r-- | templater/templater.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/templater/templater.go b/templater/templater.go index e842daeba0a2..55b64766ce8c 100644 --- a/templater/templater.go +++ b/templater/templater.go @@ -205,6 +205,14 @@ func templateFuncs(c *context.Context, rs *context.ResourceSet) template.FuncMap return string(data), nil } + m["insertTemplate"] = func(file string) (string, error) { + data, err := templateFile(c, rs, path.Join(rs.Path, file)) + if err != nil { + return "", err + } + + return data.Rendered, nil + } m["default"] = func(defaultVal interface{}, varName string) interface{} { if val, ok := rs.Values[varName]; ok { return val |