in templater/jobs/utils/utils.go [222:245]
func ExecuteTemplate(templateContent string, data interface{}) ([]byte, error) {
temp := template.New("template")
funcMap := map[string]interface{}{
"indent": func(spaces int, v string) string {
pad := strings.Repeat(" ", spaces)
return pad + strings.Replace(v, "\n", "\n"+pad, -1)
},
"stringsJoin": strings.Join,
"trim": strings.TrimSpace,
}
temp = temp.Funcs(funcMap)
temp, err := temp.Parse(templateContent)
if err != nil {
return nil, fmt.Errorf("error parsing template: %v", err)
}
var buf bytes.Buffer
err = temp.Execute(&buf, data)
if err != nil {
return nil, fmt.Errorf("error substituting values for template: %v", err)
}
return buf.Bytes(), nil
}