@@ -97,10 +97,10 @@ func Execute(r *nfdv1alpha1.Rule, features *nfdv1alpha1.Features, failFast bool)
97
97
break
98
98
}
99
99
100
- if err := executeLabelsTemplate ( r , featureStatus .MatchedFeatures , labels ); err != nil {
100
+ if err := executeTemplate ( r . LabelsTemplate , featureStatus .MatchedFeatures , labels ); err != nil {
101
101
return RuleOutput {}, err
102
102
}
103
- if err := executeVarsTemplate ( r , featureStatus .MatchedFeatures , vars ); err != nil {
103
+ if err := executeTemplate ( r . VarsTemplate , featureStatus .MatchedFeatures , vars ); err != nil {
104
104
return RuleOutput {}, err
105
105
}
106
106
}
@@ -122,10 +122,10 @@ func Execute(r *nfdv1alpha1.Rule, features *nfdv1alpha1.Features, failFast bool)
122
122
return RuleOutput {MatchStatus : & matchStatus }, nil
123
123
} else {
124
124
klog .V (4 ).InfoS ("matchFeatures matched" , "ruleName" , r .Name , "matchedFeatures" , utils .DelayedDumper (matchStatus .MatchedFeatures ))
125
- if err := executeLabelsTemplate ( r , matchStatus .MatchedFeatures , labels ); err != nil {
125
+ if err := executeTemplate ( r . LabelsTemplate , matchStatus .MatchedFeatures , labels ); err != nil {
126
126
return RuleOutput {}, err
127
127
}
128
- if err := executeVarsTemplate ( r , matchStatus .MatchedFeatures , vars ); err != nil {
128
+ if err := executeTemplate ( r . VarsTemplate , matchStatus .MatchedFeatures , vars ); err != nil {
129
129
return RuleOutput {}, err
130
130
}
131
131
}
@@ -182,43 +182,21 @@ func ExecuteGroupRule(r *nfdv1alpha1.GroupRule, features *nfdv1alpha1.Features,
182
182
return true , nil
183
183
}
184
184
185
- func executeLabelsTemplate ( r * nfdv1alpha1. Rule , in matchedFeatures , out map [string ]string ) error {
186
- if r . LabelsTemplate == "" {
185
+ func executeTemplate ( tmpl string , in matchedFeatures , out map [string ]string ) error {
186
+ if tmpl == "" {
187
187
return nil
188
188
}
189
189
190
- th , err := template .NewHelper (r . LabelsTemplate )
190
+ th , err := template .NewHelper (tmpl )
191
191
if err != nil {
192
- return fmt .Errorf ("failed to parse LabelsTemplate : %w" , err )
192
+ return fmt .Errorf ("failed to parse template : %w" , err )
193
193
}
194
194
195
- labels , err := th .ExpandMap (in )
195
+ values , err := th .ExpandMap (in )
196
196
if err != nil {
197
- return fmt .Errorf ("failed to expand LabelsTemplate: %w" , err )
198
- }
199
- for k , v := range labels {
200
- out [k ] = v
201
- }
202
- return nil
203
- }
204
-
205
- func executeVarsTemplate (r * nfdv1alpha1.Rule , in matchedFeatures , out map [string ]string ) error {
206
- if r .VarsTemplate == "" {
207
- return nil
208
- }
209
-
210
- th , err := template .NewHelper (r .VarsTemplate )
211
- if err != nil {
212
- return err
213
- }
214
-
215
- vars , err := th .ExpandMap (in )
216
- if err != nil {
217
- return err
218
- }
219
- for k , v := range vars {
220
- out [k ] = v
197
+ return fmt .Errorf ("failed to expand template: %w" , err )
221
198
}
199
+ maps .Copy (out , values )
222
200
return nil
223
201
}
224
202
0 commit comments