@@ -97,10 +97,10 @@ func Execute(r *nfdv1alpha1.Rule, features *nfdv1alpha1.Features, failFast bool)
9797 break
9898 }
9999
100- if err := executeLabelsTemplate ( r , featureStatus .MatchedFeatures , labels ); err != nil {
100+ if err := executeTemplate ( r . LabelsTemplate , featureStatus .MatchedFeatures , labels ); err != nil {
101101 return RuleOutput {}, err
102102 }
103- if err := executeVarsTemplate ( r , featureStatus .MatchedFeatures , vars ); err != nil {
103+ if err := executeTemplate ( r . VarsTemplate , featureStatus .MatchedFeatures , vars ); err != nil {
104104 return RuleOutput {}, err
105105 }
106106 }
@@ -122,10 +122,10 @@ func Execute(r *nfdv1alpha1.Rule, features *nfdv1alpha1.Features, failFast bool)
122122 return RuleOutput {MatchStatus : & matchStatus }, nil
123123 } else {
124124 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 {
126126 return RuleOutput {}, err
127127 }
128- if err := executeVarsTemplate ( r , matchStatus .MatchedFeatures , vars ); err != nil {
128+ if err := executeTemplate ( r . VarsTemplate , matchStatus .MatchedFeatures , vars ); err != nil {
129129 return RuleOutput {}, err
130130 }
131131 }
@@ -182,43 +182,21 @@ func ExecuteGroupRule(r *nfdv1alpha1.GroupRule, features *nfdv1alpha1.Features,
182182 return true , nil
183183}
184184
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 == "" {
187187 return nil
188188 }
189189
190- th , err := template .NewHelper (r . LabelsTemplate )
190+ th , err := template .NewHelper (tmpl )
191191 if err != nil {
192- return fmt .Errorf ("failed to parse LabelsTemplate : %w" , err )
192+ return fmt .Errorf ("failed to parse template : %w" , err )
193193 }
194194
195- labels , err := th .ExpandMap (in )
195+ values , err := th .ExpandMap (in )
196196 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 )
221198 }
199+ maps .Copy (out , values )
222200 return nil
223201}
224202
0 commit comments