refactor(templater): Pass resource set path to insertFile function
This is actually several refactors in one: * rename "fileContent" function to "insertFile" * pass the resource set path to the "insetFile" function * update docs and example with a pipeline including indentation adjustments for the inserted file
This commit is contained in:
parent
bafb792339
commit
b8722ce83b
4 changed files with 26 additions and 33 deletions
|
|
@ -119,7 +119,7 @@ func processFiles(c *context.Context, rs *context.ResourceSet, rp string, files
|
|||
}
|
||||
|
||||
func templateFile(c *context.Context, rs *context.ResourceSet, filename string) (string, error) {
|
||||
tpl, err := template.New(path.Base(filename)).Funcs(templateFuncs()).Option(failOnMissingKeys).ParseFiles(filename)
|
||||
tpl, err := template.New(path.Base(filename)).Funcs(templateFuncs(rs)).Option(failOnMissingKeys).ParseFiles(filename)
|
||||
|
||||
if err != nil {
|
||||
return "", meep.New(
|
||||
|
|
@ -185,7 +185,7 @@ func matchesResourceSet(s *[]string, rs *context.ResourceSet) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
func templateFuncs() template.FuncMap {
|
||||
func templateFuncs(rs *context.ResourceSet) template.FuncMap {
|
||||
m := sprig.TxtFuncMap()
|
||||
m["json"] = func(data interface{}) string {
|
||||
b, _ := json.Marshal(data)
|
||||
|
|
@ -193,7 +193,14 @@ func templateFuncs() template.FuncMap {
|
|||
}
|
||||
m["passLookup"] = GetFromPass
|
||||
m["lookupIPAddr"] = GetIPsFromDNS
|
||||
m["fileContent"] = GetFromFile
|
||||
m["insertFile"] = func(file string) (string, error) {
|
||||
data, err := ioutil.ReadFile(path.Join(rs.Path, file))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return string(data), nil
|
||||
}
|
||||
|
||||
return m
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue