@@ -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+ 
295313func  (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