@@ -258,18 +258,22 @@ func (c *serviceController) BindControllerManager(mgr ctrlrt.Manager, cfg ackcfg
258258 }
259259 }
260260
261- exporterInstalled , err := c . GetFieldExportInstalled ( mgr )
261+ exporterInstalled := false
262262 exporterLogger := c .log .WithName ("exporter" )
263- if err != nil {
264- exporterLogger .Error (err , "unable to determine if the FieldExport CRD is installed in the cluster" )
265- } else if ! exporterInstalled {
266- exporterLogger .Info ("FieldExport CRD not installed. The field export reconciler will not be started" )
267- } else {
268- rec := NewFieldExportReconcilerForFieldExport (c , exporterLogger , cfg , c .metrics , cache )
269- if err := rec .BindControllerManager (mgr ); err != nil {
270- return err
263+
264+ if cfg .EnableFieldExportReconciler {
265+ exporterInstalled , err := c .GetFieldExportInstalled (mgr )
266+ if err != nil {
267+ exporterLogger .Error (err , "unable to determine if the FieldExport CRD is installed in the cluster" )
268+ } else if ! exporterInstalled {
269+ exporterLogger .Info ("FieldExport CRD not installed. The field export reconciler will not be started" )
270+ } else {
271+ rec := NewFieldExportReconcilerForFieldExport (c , exporterLogger , cfg , c .metrics , cache )
272+ if err := rec .BindControllerManager (mgr ); err != nil {
273+ return err
274+ }
275+ c .fieldExportReconciler = rec
271276 }
272- c .fieldExportReconciler = rec
273277 }
274278
275279 // Get the list of resources to reconcile from the config
@@ -305,7 +309,7 @@ func (c *serviceController) BindControllerManager(mgr ctrlrt.Manager, cfg ackcfg
305309 }
306310 c .reconcilers = append (c .reconcilers , rec )
307311
308- if exporterInstalled {
312+ if cfg . EnableFieldExportReconciler && exporterInstalled {
309313 rd := rmf .ResourceDescriptor ()
310314 feRec := NewFieldExportReconcilerForAWSResource (c , exporterLogger , cfg , c .metrics , cache , rd )
311315 if err := feRec .BindControllerManager (mgr ); err != nil {
0 commit comments