Skip to content

Commit d379668

Browse files
authored
reconciler of generated cluster resource (#2988)
1 parent 21170cb commit d379668

File tree

6 files changed

+564
-313
lines changed

6 files changed

+564
-313
lines changed

config/openapi2crd.yaml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,13 @@ spec:
113113
- $.id
114114
- $.links
115115
- $.mongoDBVersion
116+
- $.featureCompatibilityVersion
117+
- $.featureCompatibilityVersionExpirationDate
118+
- $.internalClusterRole
116119
- $.replicationSpecs[*].id
120+
- $.replicationSpecs[*].regionConfigs[*].effectiveAnalyticsSpecs
121+
- $.replicationSpecs[*].regionConfigs[*].effectiveElectableSpecs
122+
- $.replicationSpecs[*].regionConfigs[*].effectiveReadOnlySpecs
117123
- $.stateName
118124
status:
119125
schema: 'ClusterDescription20240805'
@@ -133,12 +139,21 @@ spec:
133139
- $.paused
134140
- $.pitEnabled
135141
- $.replicationSpecs[*].numShards
136-
- $.replicationSpecs[*].regionConfigs
137142
- $.replicationSpecs[*].zoneName
143+
- $.replicationSpecs[*].regionConfigs[*].analyticsAutoScaling
144+
- $.replicationSpecs[*].regionConfigs[*].analyticsSpecs
145+
- $.replicationSpecs[*].regionConfigs[*].autoScaling
146+
- $.replicationSpecs[*].regionConfigs[*].backingProviderName
147+
- $.replicationSpecs[*].regionConfigs[*].electableSpecs
148+
- $.replicationSpecs[*].regionConfigs[*].priority
149+
- $.replicationSpecs[*].regionConfigs[*].providerName
150+
- $.replicationSpecs[*].regionConfigs[*].readOnlySpecs
151+
- $.replicationSpecs[*].regionConfigs[*].regionName
138152
- $.rootCertType
139153
- $.tags
140154
- $.terminationProtectionEnabled
141155
- $.versionReleaseSystem
156+
- $.useAwsTimeBasedSnapshotCopyForFastInitialSync
142157

143158
- gvk:
144159
version: v1

internal/controller/registry.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import (
4646
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/watch"
4747
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/dryrun"
4848
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/featureflags"
49+
akov2generatedcluster "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/generated/controller/cluster"
4950
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/generated/controller/connectionsecret"
5051
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/generated/controller/flexcluster"
5152
"github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/generated/controller/group"
@@ -144,16 +145,25 @@ func (r *Registry) registerControllers(c cluster.Cluster, ap atlas.Provider) err
144145
if version.IsExperimental() {
145146
// Add experimental controllers here
146147
reconcilers = append(reconcilers, connectionsecret.NewConnectionSecretReconciler(c, r.defaultPredicates(), ap, r.logger, r.globalSecretRef))
148+
147149
groupReconciler, err := group.NewGroupReconciler(c, ap, r.logger, r.globalSecretRef, r.deletionProtection, true, r.defaultPredicates())
148150
if err != nil {
149151
return fmt.Errorf("error creating group reconciler: %w", err)
150152
}
153+
154+
clusterController, err := akov2generatedcluster.NewClusterReconciler(c, ap, r.logger, r.globalSecretRef, r.deletionProtection, true, r.defaultPredicates())
155+
if err != nil {
156+
return fmt.Errorf("error creating cluster reconciler: %w", err)
157+
}
158+
151159
flexController, err := flexcluster.NewFlexClusterReconciler(c, ap, r.logger, r.globalSecretRef, r.deletionProtection, true, r.defaultPredicates())
152160
if err != nil {
153-
return fmt.Errorf("error creating group reconciler: %w", err)
161+
return fmt.Errorf("error creating flex cluster reconciler: %w", err)
154162
}
163+
155164
reconcilers = append(reconcilers,
156165
newCtrlStateReconciler(groupReconciler, r.maxConcurrentReconciles),
166+
newCtrlStateReconciler(clusterController, r.maxConcurrentReconciles),
157167
newCtrlStateReconciler(flexController, r.maxConcurrentReconciles),
158168
)
159169
}

0 commit comments

Comments
 (0)