@@ -81,7 +81,6 @@ func (r *FluentBitConfigReconciler) Reconcile(ctx context.Context, req ctrl.Requ
81
81
}
82
82
83
83
for _ , fb := range fbs .Items {
84
-
85
84
var cfgs fluentbitv1alpha2.ClusterFluentBitConfigList
86
85
if err := r .List (ctx , & cfgs ); err != nil {
87
86
if errors .IsNotFound (err ) {
@@ -95,54 +94,29 @@ func (r *FluentBitConfigReconciler) Reconcile(ctx context.Context, req ctrl.Requ
95
94
if cfg .Name != fb .Spec .FluentBitConfigName {
96
95
continue
97
96
}
97
+
98
98
var inputs fluentbitv1alpha2.ClusterInputList
99
- selector , err := metav1 .LabelSelectorAsSelector (& cfg .Spec .InputSelector )
100
- if err != nil {
101
- return ctrl.Result {}, err
102
- }
103
- if err = r .List (ctx , & inputs , client.MatchingLabelsSelector {Selector : selector }); err != nil {
99
+ if err := listClusterResources (ctx , r .Client , & cfg .Spec .InputSelector , & inputs ); err != nil {
104
100
return ctrl.Result {}, err
105
101
}
106
102
107
- // List all filters matching the label selector.
108
103
var filters fluentbitv1alpha2.ClusterFilterList
109
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .FilterSelector )
110
- if err != nil {
111
- return ctrl.Result {}, err
112
- }
113
- if err = r .List (ctx , & filters , client.MatchingLabelsSelector {Selector : selector }); err != nil {
104
+ if err := listClusterResources (ctx , r .Client , & cfg .Spec .FilterSelector , & filters ); err != nil {
114
105
return ctrl.Result {}, err
115
106
}
116
107
117
- // List all outputs matching the label selector.
118
108
var outputs fluentbitv1alpha2.ClusterOutputList
119
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .OutputSelector )
120
- if err != nil {
121
- return ctrl.Result {}, err
122
- }
123
- if err = r .List (ctx , & outputs , client.MatchingLabelsSelector {Selector : selector }); err != nil {
109
+ if err := listClusterResources (ctx , r .Client , & cfg .Spec .OutputSelector , & outputs ); err != nil {
124
110
return ctrl.Result {}, err
125
111
}
126
112
127
- // List all parsers matching the label selector.
128
113
var parsers fluentbitv1alpha2.ClusterParserList
129
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .ParserSelector )
130
- if err != nil {
131
- return ctrl.Result {}, err
132
- }
133
- if err = r .List (ctx , & parsers , client.MatchingLabelsSelector {Selector : selector }); err != nil {
114
+ if err := listClusterResources (ctx , r .Client , & cfg .Spec .ParserSelector , & parsers ); err != nil {
134
115
return ctrl.Result {}, err
135
116
}
136
117
137
- // List all multiline parsers matching the label selector.
138
118
var multilineParsers fluentbitv1alpha2.ClusterMultilineParserList
139
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .MultilineParserSelector )
140
- if err != nil {
141
- return ctrl.Result {}, err
142
- }
143
- if err = r .List (
144
- ctx , & multilineParsers , client.MatchingLabelsSelector {Selector : selector },
145
- ); err != nil {
119
+ if err := listClusterResources (ctx , r .Client , & cfg .Spec .MultilineParserSelector , & multilineParsers ); err != nil {
146
120
return ctrl.Result {}, err
147
121
}
148
122
@@ -292,6 +266,32 @@ func (r *FluentBitConfigReconciler) processNamespacedFluentBitCfgs(
292
266
return filters , outputs , parsers , clusterParsers , multilineParsers , clusterMultilineParsers , rewriteTagConfigs , nil
293
267
}
294
268
269
+ func listClusterResources [T client.ObjectList ](
270
+ ctx context.Context , cli client.Client , selector * metav1.LabelSelector , list T ,
271
+ ) error {
272
+ sel , err := metav1 .LabelSelectorAsSelector (selector )
273
+ if err != nil {
274
+ return err
275
+ }
276
+ if err := cli .List (ctx , list , client.MatchingLabelsSelector {Selector : sel }); err != nil {
277
+ return err
278
+ }
279
+ return nil
280
+ }
281
+
282
+ func listNamespacedResources [T client.ObjectList ](
283
+ ctx context.Context , cli client.Client , list T , namespace string , selector * metav1.LabelSelector ,
284
+ ) error {
285
+ sel , err := metav1 .LabelSelectorAsSelector (selector )
286
+ if err != nil {
287
+ return err
288
+ }
289
+ if err := cli .List (ctx , list , client .InNamespace (namespace ), client.MatchingLabelsSelector {Selector : sel }); err != nil {
290
+ return err
291
+ }
292
+ return nil
293
+ }
294
+
295
295
func (r * FluentBitConfigReconciler ) ListNamespacedResources (
296
296
ctx context.Context , cfg fluentbitv1alpha2.FluentBitConfig ,
297
297
) (
@@ -306,62 +306,26 @@ func (r *FluentBitConfigReconciler) ListNamespacedResources(
306
306
var multipleParsers fluentbitv1alpha2.MultilineParserList
307
307
var clusterMultipleParsers fluentbitv1alpha2.ClusterMultilineParserList
308
308
309
- selector , err := metav1 .LabelSelectorAsSelector (& cfg .Spec .FilterSelector )
310
- if err != nil {
311
- return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
312
- }
313
- if err := r .List (
314
- ctx , & filters , client .InNamespace (cfg .Namespace ), client.MatchingLabelsSelector {Selector : selector },
315
- ); err != nil {
316
- return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
317
- }
318
-
319
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .OutputSelector )
320
- if err != nil {
321
- return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
322
- }
323
- if err := r .List (
324
- ctx , & outputs , client .InNamespace (cfg .Namespace ), client.MatchingLabelsSelector {Selector : selector },
325
- ); err != nil {
309
+ if err := listNamespacedResources (ctx , r .Client , & filters , cfg .Namespace , & cfg .Spec .FilterSelector ); err != nil {
326
310
return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
327
311
}
328
312
329
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .ParserSelector )
330
- if err != nil {
313
+ if err := listNamespacedResources (ctx , r .Client , & outputs , cfg .Namespace , & cfg .Spec .OutputSelector ); err != nil {
331
314
return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
332
315
}
333
- if err := r .List (
334
- ctx , & parsers , client .InNamespace (cfg .Namespace ), client.MatchingLabelsSelector {Selector : selector },
335
- ); err != nil {
316
+ if err := listNamespacedResources (ctx , r .Client , & parsers , cfg .Namespace , & cfg .Spec .ParserSelector ); err != nil {
336
317
return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
337
318
}
338
319
339
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .ClusterParserSelector )
340
- if err != nil {
341
- return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
342
- }
343
- if err := r .List (ctx , & clusterParsers , client.MatchingLabelsSelector {Selector : selector }); err != nil {
320
+ if err := listNamespacedResources (ctx , r .Client , & clusterParsers , cfg .Namespace , & cfg .Spec .ClusterParserSelector ); err != nil {
344
321
return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
345
322
}
346
323
347
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .MultilineParserSelector )
348
- if err != nil {
349
- return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
350
- }
351
- if err := r .List (
352
- ctx , & multipleParsers , client .InNamespace (cfg .Namespace ), client.MatchingLabelsSelector {Selector : selector },
353
- ); err != nil {
324
+ if err := listNamespacedResources (ctx , r .Client , & multipleParsers , cfg .Namespace , & cfg .Spec .MultilineParserSelector ); err != nil {
354
325
return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
355
326
}
356
327
357
- selector , err = metav1 .LabelSelectorAsSelector (& cfg .Spec .ClusterMultilineParserSelector )
358
- if err != nil {
359
- return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
360
- }
361
- if err := r .List (
362
- ctx , & clusterMultipleParsers , client .InNamespace (cfg .Namespace ),
363
- client.MatchingLabelsSelector {Selector : selector },
364
- ); err != nil {
328
+ if err := listNamespacedResources (ctx , r .Client , & clusterMultipleParsers , cfg .Namespace , & cfg .Spec .ClusterMultilineParserSelector ); err != nil {
365
329
return filters , outputs , parsers , clusterParsers , multipleParsers , clusterMultipleParsers , err
366
330
}
367
331
0 commit comments