@@ -342,10 +342,11 @@ func setupCustomCache(mgrOptions *ctrl.Options, syncPeriod string, namespace str
342
342
var labelSelector labels.Selector
343
343
if namespace != "" {
344
344
namespaceSelector = fields.Set {"metadata.namespace" : namespace }.AsSelector ()
345
- mgrOptions .Cache .DefaultNamespaces = map [string ]cache.Config {
346
- namespace : {
347
- FieldSelector : namespaceSelector ,
348
- },
345
+ if mgrOptions .Cache .DefaultNamespaces == nil {
346
+ mgrOptions .Cache .DefaultNamespaces = make (map [string ]cache.Config )
347
+ }
348
+ mgrOptions .Cache .DefaultNamespaces [namespace ] = cache.Config {
349
+ FieldSelector : namespaceSelector ,
349
350
}
350
351
}
351
352
if loggingRef != "" {
@@ -358,70 +359,34 @@ func setupCustomCache(mgrOptions *ctrl.Options, syncPeriod string, namespace str
358
359
// It would be much better to watch for a common label, but we don't have that yet.
359
360
// Adding a new label would recreate statefulsets and daemonsets which would be undesirable.
360
361
// Let's see how this works in the wild. We can optimize in a subsequent iteration.
361
- req , err := labels .NewRequirement ("app.kubernetes.io/name" , selection .In , []string {
362
- "fluentd" , "syslog-ng" , "fluentbit" ,
363
- })
362
+ req , err := labels .NewRequirement ("app.kubernetes.io/name" , selection .In , []string {"fluentd" , "syslog-ng" , "fluentbit" })
364
363
if err != nil {
365
364
return nil , err
366
365
}
367
366
labelSelector = labelSelector .Add (* req )
368
367
}
369
368
370
- mgrOptions .Cache = cache.Options {
371
- ByObject : map [client.Object ]cache.ByObject {
372
- & corev1.Pod {}: {
373
- Field : namespaceSelector ,
374
- Label : labelSelector ,
375
- },
376
- & batchv1.Job {}: {
377
- Field : namespaceSelector ,
378
- Label : labelSelector ,
379
- },
380
- & corev1.Service {}: {
381
- Field : namespaceSelector ,
382
- Label : labelSelector ,
383
- },
384
- & rbacv1.Role {}: {
385
- Field : namespaceSelector ,
386
- Label : labelSelector ,
387
- },
388
- & rbacv1.ClusterRole {}: {
389
- Field : namespaceSelector ,
390
- Label : labelSelector ,
391
- },
392
- & rbacv1.RoleBinding {}: {
393
- Field : namespaceSelector ,
394
- Label : labelSelector ,
395
- },
396
- & rbacv1.ClusterRoleBinding {}: {
397
- Field : namespaceSelector ,
398
- Label : labelSelector ,
399
- },
400
- & corev1.ServiceAccount {}: {
401
- Field : namespaceSelector ,
402
- Label : labelSelector ,
403
- },
404
- & appsv1.DaemonSet {}: {
405
- Field : namespaceSelector ,
406
- Label : labelSelector ,
407
- },
408
- & appsv1.StatefulSet {}: {
409
- Field : namespaceSelector ,
410
- Label : labelSelector ,
411
- },
412
- & appsv1.Deployment {}: {
413
- Field : namespaceSelector ,
414
- Label : labelSelector ,
415
- },
416
- & corev1.PersistentVolumeClaim {}: {
417
- Field : namespaceSelector ,
418
- Label : labelSelector ,
419
- },
420
- & corev1.ConfigMap {}: {
421
- Field : namespaceSelector ,
422
- Label : labelSelector ,
423
- },
424
- },
369
+ if mgrOptions .Cache .ByObject == nil {
370
+ mgrOptions .Cache .ByObject = make (map [client.Object ]cache.ByObject )
371
+ }
372
+ objectsToWatch := map [client.Object ]cache.ByObject {
373
+ & corev1.Pod {}: {Field : namespaceSelector , Label : labelSelector },
374
+ & batchv1.Job {}: {Field : namespaceSelector , Label : labelSelector },
375
+ & corev1.Service {}: {Field : namespaceSelector , Label : labelSelector },
376
+ & rbacv1.Role {}: {Field : namespaceSelector , Label : labelSelector },
377
+ & rbacv1.ClusterRole {}: {Field : namespaceSelector , Label : labelSelector },
378
+ & rbacv1.RoleBinding {}: {Field : namespaceSelector , Label : labelSelector },
379
+ & rbacv1.ClusterRoleBinding {}: {Field : namespaceSelector , Label : labelSelector },
380
+ & corev1.ServiceAccount {}: {Field : namespaceSelector , Label : labelSelector },
381
+ & appsv1.DaemonSet {}: {Field : namespaceSelector , Label : labelSelector },
382
+ & appsv1.StatefulSet {}: {Field : namespaceSelector , Label : labelSelector },
383
+ & appsv1.Deployment {}: {Field : namespaceSelector , Label : labelSelector },
384
+ & corev1.PersistentVolumeClaim {}: {Field : namespaceSelector , Label : labelSelector },
385
+ & corev1.ConfigMap {}: {Field : namespaceSelector , Label : labelSelector },
386
+ }
387
+
388
+ for obj , config := range objectsToWatch {
389
+ mgrOptions .Cache .ByObject [obj ] = config
425
390
}
426
391
}
427
392
0 commit comments