@@ -92,24 +92,27 @@ func NewManager(client kubernetes.Interface, clusterpediaClient crdclientset.Int
9292 synchros : make (map [string ]* clustersynchro.ClusterSynchro ),
9393 }
9494
95- secretInformer := corev1informers .NewSecretInformer (client , secretNamespace , 0 , nil )
96- if _ , err := secretInformer .AddEventHandler (
97- cache.ResourceEventHandlerFuncs {
98- AddFunc : func (obj any ) { manager .handleSecret (nil , obj .(* v1.Secret )) },
99- UpdateFunc : func (older , newer any ) { manager .handleSecret (older .(* v1.Secret ), newer .(* v1.Secret )) },
100- DeleteFunc : func (obj any ) {
101- objName , err := cache .DeletionHandlingObjectToName (obj )
102- if err != nil {
103- return
104- }
105- manager .handleDeletedSecret (objName .Name )
95+ if clusterpediafeature .FeatureGate .Enabled (features .ClusterAuthenticationFromSecret ) {
96+ secretInformer := corev1informers .NewSecretInformer (client , secretNamespace , 0 , nil )
97+ if _ , err := secretInformer .AddEventHandler (
98+ cache.ResourceEventHandlerFuncs {
99+ AddFunc : func (obj any ) { manager .handleSecret (nil , obj .(* v1.Secret )) },
100+ UpdateFunc : func (older , newer any ) { manager .handleSecret (older .(* v1.Secret ), newer .(* v1.Secret )) },
101+ DeleteFunc : func (obj any ) {
102+ objName , err := cache .DeletionHandlingObjectToName (obj )
103+ if err != nil {
104+ return
105+ }
106+ manager .handleDeletedSecret (objName .Name )
107+ },
106108 },
107- },
108- ); err != nil {
109- klog .ErrorS (err , "error when adding event handler to informer" )
109+ ); err != nil {
110+ klog .ErrorS (err , "error when adding event handler to informer" )
111+ }
112+
113+ manager .secretInformer = secretInformer
114+ manager .secretLister = corev1listers .NewSecretLister (secretInformer .GetIndexer ()).Secrets (secretNamespace )
110115 }
111- manager .secretInformer = secretInformer
112- manager .secretLister = corev1listers .NewSecretLister (secretInformer .GetIndexer ()).Secrets (secretNamespace )
113116
114117 if _ , err := clusterinformer .Informer ().AddEventHandler (
115118 cache.ResourceEventHandlerFuncs {
@@ -159,18 +162,20 @@ func (manager *Manager) Run(workers int, stopCh <-chan struct{}) {
159162 // informerFactory should not be controlled by stopCh
160163 stopInformer := make (chan struct {})
161164
162- // Start the secret informer first
163- go manager .secretInformer .Run (stopInformer )
164- timeout := make (chan struct {})
165- go func () {
166- select {
167- case <- stopCh :
168- case <- time .After (60 * time .Second ):
165+ if manager .secretInformer != nil {
166+ // Start the secret informer first
167+ go manager .secretInformer .Run (stopInformer )
168+ timeout := make (chan struct {})
169+ go func () {
170+ select {
171+ case <- stopCh :
172+ case <- time .After (60 * time .Second ):
173+ }
174+ close (timeout )
175+ }()
176+ if ! cache .WaitForCacheSync (timeout , manager .secretInformer .HasSynced ) {
177+ klog .Fatal ("clustersynchro manager: wait for secret informer failed" )
169178 }
170- close (timeout )
171- }()
172- if ! cache .WaitForCacheSync (timeout , manager .secretInformer .HasSynced ) {
173- klog .Fatal ("clustersynchro manager: wait for secret informer failed" )
174179 }
175180
176181 manager .informerFactory .Start (stopInformer )
0 commit comments