@@ -64,7 +64,7 @@ func RenderDir(manifestDir string, d *RenderData) ([]*unstructured.Unstructured,
64
64
return nil
65
65
}
66
66
67
- objs , err := RenderTemplate (path , d )
67
+ objs , err := RenderFileTemplate (path , d )
68
68
if err != nil {
69
69
return err
70
70
}
@@ -77,10 +77,14 @@ func RenderDir(manifestDir string, d *RenderData) ([]*unstructured.Unstructured,
77
77
return out , nil
78
78
}
79
79
80
- // RenderTemplate reads, renders, and attempts to parse a yaml or
80
+ func RenderTemplate (template string , d * RenderData ) (* bytes.Buffer , error ) {
81
+ return renderTemplate (template , d )
82
+ }
83
+
84
+ // RenderFileTemplate reads, renders, and attempts to parse a yaml or
81
85
// json file representing one or more k8s api objects
82
- func RenderTemplate (path string , d * RenderData ) ([]* unstructured.Unstructured , error ) {
83
- rendered , err := renderTemplate (path , d )
86
+ func RenderFileTemplate (path string , d * RenderData ) ([]* unstructured.Unstructured , error ) {
87
+ rendered , err := renderFileTemplate (path , d )
84
88
if err != nil {
85
89
return nil , err
86
90
}
@@ -112,8 +116,9 @@ func RenderTemplate(path string, d *RenderData) ([]*unstructured.Unstructured, e
112
116
return out , nil
113
117
}
114
118
115
- func renderTemplate (path string , d * RenderData ) (* bytes.Buffer , error ) {
116
- tmpl := template .New (path ).Option ("missingkey=error" )
119
+ func renderTemplate (rawTemplate string , d * RenderData ) (* bytes.Buffer , error ) {
120
+
121
+ tmpl := template .New ("template" ).Option ("missingkey=error" )
117
122
if d .Funcs != nil {
118
123
tmpl .Funcs (d .Funcs )
119
124
}
@@ -122,23 +127,28 @@ func renderTemplate(path string, d *RenderData) (*bytes.Buffer, error) {
122
127
tmpl .Funcs (template.FuncMap {"getOr" : getOr , "isSet" : isSet })
123
128
tmpl .Funcs (sprig .TxtFuncMap ())
124
129
125
- source , err := os .ReadFile (path )
126
- if err != nil {
127
- return nil , errors .Wrapf (err , "failed to read manifest %s" , path )
128
- }
129
-
130
- if _ , err := tmpl .Parse (string (source )); err != nil {
131
- return nil , errors .Wrapf (err , "failed to parse manifest %s as template" , path )
130
+ if _ , err := tmpl .Parse (rawTemplate ); err != nil {
131
+ return nil , errors .Wrapf (err , "failed to parse manifest %s as template" , rawTemplate )
132
132
}
133
133
134
134
rendered := bytes.Buffer {}
135
135
if err := tmpl .Execute (& rendered , d .Data ); err != nil {
136
- return nil , errors .Wrapf (err , "failed to render manifest %s" , path )
136
+ return nil , errors .Wrapf (err , "failed to render manifest %s" , rawTemplate )
137
137
}
138
138
139
139
return & rendered , nil
140
140
}
141
141
142
+ func renderFileTemplate (path string , d * RenderData ) (* bytes.Buffer , error ) {
143
+
144
+ source , err := os .ReadFile (path )
145
+ if err != nil {
146
+ return nil , errors .Wrapf (err , "failed to read manifest %s" , path )
147
+ }
148
+
149
+ return renderTemplate (string (source [:]), d )
150
+ }
151
+
142
152
func formateDeviceList (devs []DeviceInfo ) string {
143
153
out := ""
144
154
for _ , dev := range devs {
@@ -232,7 +242,7 @@ func filterTemplates(toFilter map[string]string, path string, d *RenderData) err
232
242
}
233
243
234
244
// Render the template file
235
- renderedData , err := renderTemplate (path , d )
245
+ renderedData , err := renderFileTemplate (path , d )
236
246
if err != nil {
237
247
return err
238
248
}
0 commit comments