@@ -10,6 +10,7 @@ package main
1010import (
1111 "context"
1212 "flag"
13+ "go.goms.io/fleet/pkg/utils/controller"
1314 "os"
1415 "os/signal"
1516 "sync"
@@ -259,79 +260,94 @@ func setupControllersWithManager(ctx context.Context, hubMgr, memberMgr manager.
259260 memberClient := memberMgr .GetClient ()
260261 hubClient := hubMgr .GetClient ()
261262
263+ var controllers []controller.MemberController
262264 klog .V (1 ).InfoS ("Create endpointslice controller" )
263- if err := ( & endpointslice.Reconciler {
265+ endpointSliceController := & endpointslice.Reconciler {
264266 MemberClusterID : mcName ,
265267 MemberClient : memberClient ,
266268 HubClient : hubClient ,
267269 HubNamespace : mcHubNamespace ,
268- }).SetupWithManager (ctx , memberMgr ); err != nil {
270+ }
271+ if err := endpointSliceController .SetupWithManager (ctx , memberMgr ); err != nil {
269272 klog .ErrorS (err , "Unable to create endpointslice controller" )
270273 return err
271274 }
275+ controllers = append (controllers , endpointSliceController )
272276
273277 klog .V (1 ).InfoS ("Create endpointsliceexport controller" )
274- if err := ( & endpointsliceexport.Reconciler {
278+ endpointSliceExportController := & endpointsliceexport.Reconciler {
275279 MemberClient : memberClient ,
276280 HubClient : hubClient ,
277- }).SetupWithManager (hubMgr ); err != nil {
281+ }
282+ if err := endpointSliceExportController .SetupWithManager (hubMgr ); err != nil {
278283 klog .ErrorS (err , "Unable to create endpointsliceexport controller" )
279284 return err
280285 }
286+ controllers = append (controllers , endpointSliceExportController )
281287
282288 klog .V (1 ).InfoS ("Create endpointsliceimport controller" )
283- if err := ( & endpointsliceimport.Reconciler {
289+ endpointSliceImportController := & endpointsliceimport.Reconciler {
284290 MemberClusterID : mcName ,
285291 MemberClient : memberClient ,
286292 HubClient : hubClient ,
287293 FleetSystemNamespace : * fleetSystemNamespace ,
288- }).SetupWithManager (ctx , memberMgr , hubMgr ); err != nil {
294+ }
295+ if err := endpointSliceImportController .SetupWithManager (ctx , memberMgr , hubMgr ); err != nil {
289296 klog .ErrorS (err , "Unable to create endpointsliceimport controller" )
290297 return err
291298 }
299+ controllers = append (controllers , endpointSliceImportController )
292300
293301 klog .V (1 ).InfoS ("Create internalserviceexport controller" )
294- if err := ( & internalserviceexport.Reconciler {
302+ internalServiceExportController := & internalserviceexport.Reconciler {
295303 MemberClusterID : mcName ,
296304 MemberClient : memberClient ,
297305 HubClient : hubClient ,
298306 Recorder : memberMgr .GetEventRecorderFor (internalserviceexport .ControllerName ),
299- }).SetupWithManager (hubMgr ); err != nil {
307+ }
308+ if err := internalServiceExportController .SetupWithManager (hubMgr ); err != nil {
300309 klog .ErrorS (err , "Unable to create internalserviceexport controller" )
301310 return err
302311 }
312+ controllers = append (controllers , internalServiceExportController )
303313
304314 klog .V (1 ).InfoS ("Create internalserviceimport controller" )
305- if err := ( & internalserviceimport.Reconciler {
315+ internalServiceImportController := & internalserviceimport.Reconciler {
306316 MemberClient : memberClient ,
307317 HubClient : hubClient ,
308- }).SetupWithManager (hubMgr ); err != nil {
318+ }
319+ if err := internalServiceImportController .SetupWithManager (hubMgr ); err != nil {
309320 klog .ErrorS (err , "Unable to create internalserviceimport controller" )
310321 return err
311322 }
323+ controllers = append (controllers , internalServiceImportController )
312324
313325 klog .V (1 ).InfoS ("Create serviceexport reconciler" )
314- if err := ( & serviceexport.Reconciler {
326+ serviceExportController := & serviceexport.Reconciler {
315327 MemberClient : memberClient ,
316328 HubClient : hubClient ,
317329 MemberClusterID : mcName ,
318330 HubNamespace : mcHubNamespace ,
319331 Recorder : memberMgr .GetEventRecorderFor (serviceexport .ControllerName ),
320- }).SetupWithManager (memberMgr ); err != nil {
332+ }
333+ if err := serviceExportController .SetupWithManager (memberMgr ); err != nil {
321334 klog .ErrorS (err , "Unable to create serviceexport reconciler" )
322335 return err
323336 }
337+ controllers = append (controllers , serviceExportController )
324338
325339 klog .V (1 ).InfoS ("Create serviceimport reconciler" )
326- if err := ( & serviceimport.Reconciler {
340+ serviceImportController := & serviceimport.Reconciler {
327341 MemberClient : memberClient ,
328342 HubClient : hubClient ,
329343 MemberClusterID : mcName ,
330344 HubNamespace : mcHubNamespace ,
331- }).SetupWithManager (memberMgr ); err != nil {
345+ }
346+ if err := serviceImportController .SetupWithManager (memberMgr ); err != nil {
332347 klog .ErrorS (err , "Unable to create serviceimport reconciler" )
333348 return err
334349 }
350+ controllers = append (controllers , serviceImportController )
335351
336352 if * isV1Alpha1APIEnabled {
337353 klog .V (1 ).InfoS ("Create internalmembercluster (v1alpha1 API) reconciler" )
@@ -351,6 +367,7 @@ func setupControllersWithManager(ctx context.Context, hubMgr, memberMgr manager.
351367 MemberClient : memberClient ,
352368 HubClient : hubClient ,
353369 AgentType : clusterv1beta1 .ServiceExportImportAgent ,
370+ Controllers : controllers ,
354371 }).SetupWithManager (hubMgr ); err != nil {
355372 klog .ErrorS (err , "Unable to create internalmembercluster (v1beta1 API) reconciler" )
356373 return err
0 commit comments