Skip to content

Commit 7e39bd7

Browse files
committed
add objectfilters
Signed-off-by: duncan485 <[email protected]>
1 parent 2649f12 commit 7e39bd7

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

pkg/rotator/rotator.go

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
corev1 "k8s.io/api/core/v1"
2121
k8sErrors "k8s.io/apimachinery/pkg/api/errors"
2222
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
23+
"k8s.io/apimachinery/pkg/fields"
2324
"k8s.io/apimachinery/pkg/runtime"
2425
"k8s.io/apimachinery/pkg/runtime/schema"
2526
"k8s.io/apimachinery/pkg/types"
@@ -193,12 +194,28 @@ func addNamespacedCache(mgr manager.Manager, cr *CertRotator, namespace string)
193194
}
194195
}
195196

196-
c, err := cache.New(mgr.GetConfig(),
197-
cache.Options{
198-
Scheme: mgr.GetScheme(),
199-
Mapper: mgr.GetRESTMapper(),
200-
DefaultNamespaces: namespaces,
201-
})
197+
ObjectFilers := make(map[client.Object]cache.ByObject)
198+
199+
for _, webhook := range cr.Webhooks {
200+
wh := &unstructured.Unstructured{}
201+
wh.SetGroupVersionKind(webhook.gvk())
202+
ObjectFilers[wh] = cache.ByObject{
203+
Field: fields.SelectorFromSet(fields.Set{"metadata.name": webhook.Name}),
204+
}
205+
}
206+
207+
ObjectFilers[&corev1.Secret{}] = cache.ByObject{
208+
Namespaces: namespaces,
209+
Field: fields.SelectorFromSet(fields.Set{"metadata.name": cr.SecretKey.Name}),
210+
}
211+
212+
c, err := cache.New(mgr.GetConfig(), cache.Options{
213+
ByObject: ObjectFilers,
214+
Scheme: mgr.GetScheme(),
215+
Mapper: mgr.GetRESTMapper(),
216+
},
217+
)
218+
202219
if err != nil {
203220
return nil, err
204221
}

0 commit comments

Comments
 (0)