Skip to content

Commit 04fe75d

Browse files
committed
Refactor cyclomatic complexity for fluentbitconfig controller
1 parent 04d40a8 commit 04fe75d

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

controllers/fluentbitconfig_controller.go

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,24 @@ func (r *FluentBitConfigReconciler) processNamespacedFluentBitCfgs(
292292
return filters, outputs, parsers, clusterParsers, multilineParsers, clusterMultilineParsers, rewriteTagConfigs, nil
293293
}
294294

295+
func matchingLabelsSelector(selector *metav1.LabelSelector) (client.MatchingLabelsSelector, error) {
296+
sel, err := metav1.LabelSelectorAsSelector(selector)
297+
if err != nil {
298+
return client.MatchingLabelsSelector{}, err
299+
}
300+
return client.MatchingLabelsSelector{Selector: sel}, nil
301+
}
302+
303+
func listForNamespace[T client.ObjectList](
304+
ctx context.Context, cli client.Client, list T, namespace string, opts ...client.ListOption,
305+
) error {
306+
opts = append(opts, client.InNamespace(namespace))
307+
if err := cli.List(ctx, list, opts...); err != nil {
308+
return err
309+
}
310+
return nil
311+
}
312+
295313
func (r *FluentBitConfigReconciler) ListNamespacedResources(
296314
ctx context.Context, cfg fluentbitv1alpha2.FluentBitConfig,
297315
) (
@@ -306,62 +324,51 @@ func (r *FluentBitConfigReconciler) ListNamespacedResources(
306324
var multipleParsers fluentbitv1alpha2.MultilineParserList
307325
var clusterMultipleParsers fluentbitv1alpha2.ClusterMultilineParserList
308326

309-
selector, err := metav1.LabelSelectorAsSelector(&cfg.Spec.FilterSelector)
327+
selector, err := matchingLabelsSelector(&cfg.Spec.FilterSelector)
310328
if err != nil {
311329
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
312330
}
313-
if err := r.List(
314-
ctx, &filters, client.InNamespace(cfg.Namespace), client.MatchingLabelsSelector{Selector: selector},
315-
); err != nil {
331+
if err := listForNamespace(ctx, r.Client, &filters, cfg.Namespace, selector); err != nil {
316332
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
317333
}
318334

319-
selector, err = metav1.LabelSelectorAsSelector(&cfg.Spec.OutputSelector)
335+
selector, err = matchingLabelsSelector(&cfg.Spec.OutputSelector)
320336
if err != nil {
321337
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
322338
}
323-
if err := r.List(
324-
ctx, &outputs, client.InNamespace(cfg.Namespace), client.MatchingLabelsSelector{Selector: selector},
325-
); err != nil {
339+
if err := listForNamespace(ctx, r.Client, &outputs, cfg.Namespace, selector); err != nil {
326340
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
327341
}
328342

329-
selector, err = metav1.LabelSelectorAsSelector(&cfg.Spec.ParserSelector)
343+
selector, err = matchingLabelsSelector(&cfg.Spec.ParserSelector)
330344
if err != nil {
331345
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
332346
}
333-
if err := r.List(
334-
ctx, &parsers, client.InNamespace(cfg.Namespace), client.MatchingLabelsSelector{Selector: selector},
335-
); err != nil {
347+
if err := listForNamespace(ctx, r.Client, &parsers, cfg.Namespace, selector); err != nil {
336348
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
337349
}
338350

339-
selector, err = metav1.LabelSelectorAsSelector(&cfg.Spec.ClusterParserSelector)
351+
selector, err = matchingLabelsSelector(&cfg.Spec.ClusterParserSelector)
340352
if err != nil {
341353
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
342354
}
343-
if err := r.List(ctx, &clusterParsers, client.MatchingLabelsSelector{Selector: selector}); err != nil {
355+
if err := listForNamespace(ctx, r.Client, &clusterParsers, cfg.Namespace, selector); err != nil {
344356
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
345357
}
346358

347-
selector, err = metav1.LabelSelectorAsSelector(&cfg.Spec.MultilineParserSelector)
359+
selector, err = matchingLabelsSelector(&cfg.Spec.MultilineParserSelector)
348360
if err != nil {
349361
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
350362
}
351-
if err := r.List(
352-
ctx, &multipleParsers, client.InNamespace(cfg.Namespace), client.MatchingLabelsSelector{Selector: selector},
353-
); err != nil {
363+
if err := listForNamespace(ctx, r.Client, &multipleParsers, cfg.Namespace, selector); err != nil {
354364
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
355365
}
356366

357-
selector, err = metav1.LabelSelectorAsSelector(&cfg.Spec.ClusterMultilineParserSelector)
367+
selector, err = matchingLabelsSelector(&cfg.Spec.ClusterMultilineParserSelector)
358368
if err != nil {
359369
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
360370
}
361-
if err := r.List(
362-
ctx, &clusterMultipleParsers, client.InNamespace(cfg.Namespace),
363-
client.MatchingLabelsSelector{Selector: selector},
364-
); err != nil {
371+
if err := listForNamespace(ctx, r.Client, &clusterMultipleParsers, cfg.Namespace, selector); err != nil {
365372
return filters, outputs, parsers, clusterParsers, multipleParsers, clusterMultipleParsers, err
366373
}
367374

0 commit comments

Comments
 (0)