@@ -22,6 +22,7 @@ import (
22
22
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/atlasproject"
23
23
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/atlassearchindexconfig"
24
24
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/atlasstream"
25
+ "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/watch"
25
26
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/featureflags"
26
27
)
27
28
@@ -35,7 +36,7 @@ type AkoReconciler interface {
35
36
}
36
37
37
38
type Registry struct {
38
- predicates []predicate.Predicate
39
+ sharedPredicates []predicate.Predicate
39
40
deletionProtection bool
40
41
independentSyncPeriod time.Duration
41
42
featureFlags * featureflags.FeatureFlags
@@ -46,7 +47,7 @@ type Registry struct {
46
47
47
48
func NewRegistry (predicates []predicate.Predicate , deletionProtection bool , logger * zap.Logger , independentSyncPeriod time.Duration , featureFlags * featureflags.FeatureFlags ) * Registry {
48
49
return & Registry {
49
- predicates : predicates ,
50
+ sharedPredicates : predicates ,
50
51
deletionProtection : deletionProtection ,
51
52
logger : logger ,
52
53
independentSyncPeriod : independentSyncPeriod ,
@@ -67,17 +68,28 @@ func (r *Registry) RegisterWithManager(mgr ctrl.Manager, skipNameValidation bool
67
68
68
69
func (r * Registry ) registerControllers (c cluster.Cluster , ap atlas.Provider ) {
69
70
var reconcilers []AkoReconciler
70
- reconcilers = append (reconcilers , atlasproject .NewAtlasProjectReconciler (c , r .predicates , ap , r .deletionProtection , r .logger ))
71
- reconcilers = append (reconcilers , atlasdeployment .NewAtlasDeploymentReconciler (c , r .predicates , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
72
- reconcilers = append (reconcilers , atlasdatabaseuser .NewAtlasDatabaseUserReconciler (c , r .predicates , ap , r .deletionProtection , r .independentSyncPeriod , r .featureFlags , r .logger ))
73
- reconcilers = append (reconcilers , atlasdatafederation .NewAtlasDataFederationReconciler (c , r .predicates , ap , r .deletionProtection , r .logger ))
74
- reconcilers = append (reconcilers , atlasfederatedauth .NewAtlasFederatedAuthReconciler (c , r .predicates , ap , r .deletionProtection , r .logger ))
75
- reconcilers = append (reconcilers , atlasstream .NewAtlasStreamsInstanceReconciler (c , r .predicates , ap , r .deletionProtection , r .logger ))
76
- reconcilers = append (reconcilers , atlasstream .NewAtlasStreamsConnectionReconciler (c , r .predicates , ap , r .deletionProtection , r .logger ))
77
- reconcilers = append (reconcilers , atlassearchindexconfig .NewAtlasSearchIndexConfigReconciler (c , r .predicates , ap , r .deletionProtection , r .logger ))
78
- reconcilers = append (reconcilers , atlasbackupcompliancepolicy .NewAtlasBackupCompliancePolicyReconciler (c , r .predicates , ap , r .deletionProtection , r .logger ))
79
- reconcilers = append (reconcilers , atlascustomrole .NewAtlasCustomRoleReconciler (c , r .predicates , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
80
- reconcilers = append (reconcilers , atlasprivateendpoint .NewAtlasPrivateEndpointReconciler (c , r .predicates , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
81
- reconcilers = append (reconcilers , atlasipaccesslist .NewAtlasIPAccessListReconciler (c , r .predicates , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
71
+ reconcilers = append (reconcilers , atlasproject .NewAtlasProjectReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .logger ))
72
+ reconcilers = append (reconcilers , atlasdeployment .NewAtlasDeploymentReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
73
+ reconcilers = append (reconcilers , atlasdatabaseuser .NewAtlasDatabaseUserReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .independentSyncPeriod , r .featureFlags , r .logger ))
74
+ reconcilers = append (reconcilers , atlasdatafederation .NewAtlasDataFederationReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .logger ))
75
+ reconcilers = append (reconcilers , atlasfederatedauth .NewAtlasFederatedAuthReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .logger ))
76
+ reconcilers = append (reconcilers , atlasstream .NewAtlasStreamsInstanceReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .logger ))
77
+ reconcilers = append (reconcilers , atlasstream .NewAtlasStreamsConnectionReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .logger ))
78
+ reconcilers = append (reconcilers , atlassearchindexconfig .NewAtlasSearchIndexConfigReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .logger ))
79
+ reconcilers = append (reconcilers , atlasbackupcompliancepolicy .NewAtlasBackupCompliancePolicyReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .logger ))
80
+ reconcilers = append (reconcilers , atlascustomrole .NewAtlasCustomRoleReconciler (c , r .legacyPredicates () , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
81
+ reconcilers = append (reconcilers , atlasprivateendpoint .NewAtlasPrivateEndpointReconciler (c , r .defaultPredicates () , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
82
+ reconcilers = append (reconcilers , atlasipaccesslist .NewAtlasIPAccessListReconciler (c , r .defaultPredicates () , ap , r .deletionProtection , r .independentSyncPeriod , r .logger ))
82
83
r .reconcilers = reconcilers
83
84
}
85
+
86
+ // legacyPredicates are to be phased out in favor of defaultPredicates
87
+ func (r * Registry ) legacyPredicates () []predicate.Predicate {
88
+ return append (r .sharedPredicates , watch .CommonPredicates ())
89
+ }
90
+
91
+ // defaultPredicates minimize the reconciliations controllers actually do, avoiding
92
+ // spurious after delete handling and acting on finalizers setting or unsetting
93
+ func (r * Registry ) defaultPredicates () []predicate.Predicate {
94
+ return append (r .sharedPredicates , watch .DefaultPredicates ())
95
+ }
0 commit comments