@@ -19,7 +19,7 @@ import (
1919 "sigs.k8s.io/controller-runtime/pkg/log"
2020
2121 multigresv1alpha1 "github.com/numtide/multigres-operator/api/v1alpha1"
22- "github.com/numtide/multigres-operator/pkg/defaults "
22+ "github.com/numtide/multigres-operator/pkg/resolver "
2323)
2424
2525const (
@@ -68,23 +68,24 @@ func (r *MultigresClusterReconciler) Reconcile(
6868 return ctrl.Result {}, nil
6969 }
7070
71- // This now returns *defaults.Resolver
72- resolver := defaults .NewResolver (r .Client , cluster .Namespace , cluster .Spec .TemplateDefaults )
71+ // This now returns *resolver.Resolver
72+ // Renamed variable to 'res' to avoid collision with package name 'resolver'
73+ res := resolver .NewResolver (r .Client , cluster .Namespace , cluster .Spec .TemplateDefaults )
7374
7475 // Apply defaults (in-memory) to ensure we have images/configs even if webhook didn't run
75- resolver .PopulateClusterDefaults (cluster )
76+ res .PopulateClusterDefaults (cluster )
7677
77- if err := r .reconcileGlobalComponents (ctx , cluster , resolver ); err != nil {
78+ if err := r .reconcileGlobalComponents (ctx , cluster , res ); err != nil {
7879 l .Error (err , "Failed to reconcile global components" )
7980 return ctrl.Result {}, err
8081 }
8182
82- if err := r .reconcileCells (ctx , cluster , resolver ); err != nil {
83+ if err := r .reconcileCells (ctx , cluster , res ); err != nil {
8384 l .Error (err , "Failed to reconcile cells" )
8485 return ctrl.Result {}, err
8586 }
8687
87- if err := r .reconcileDatabases (ctx , cluster , resolver ); err != nil {
88+ if err := r .reconcileDatabases (ctx , cluster , res ); err != nil {
8889 l .Error (err , "Failed to reconcile databases" )
8990 return ctrl.Result {}, err
9091 }
@@ -147,12 +148,12 @@ func (r *MultigresClusterReconciler) checkChildrenDeleted(
147148func (r * MultigresClusterReconciler ) reconcileGlobalComponents (
148149 ctx context.Context ,
149150 cluster * multigresv1alpha1.MultigresCluster ,
150- resolver * defaults .Resolver ,
151+ res * resolver .Resolver ,
151152) error {
152- if err := r .reconcileGlobalTopoServer (ctx , cluster , resolver ); err != nil {
153+ if err := r .reconcileGlobalTopoServer (ctx , cluster , res ); err != nil {
153154 return err
154155 }
155- if err := r .reconcileMultiAdmin (ctx , cluster , resolver ); err != nil {
156+ if err := r .reconcileMultiAdmin (ctx , cluster , res ); err != nil {
156157 return err
157158 }
158159 return nil
@@ -161,19 +162,19 @@ func (r *MultigresClusterReconciler) reconcileGlobalComponents(
161162func (r * MultigresClusterReconciler ) reconcileGlobalTopoServer (
162163 ctx context.Context ,
163164 cluster * multigresv1alpha1.MultigresCluster ,
164- resolver * defaults .Resolver ,
165+ res * resolver .Resolver ,
165166) error {
166167 tplName := cluster .Spec .TemplateDefaults .CoreTemplate
167168 if cluster .Spec .GlobalTopoServer .TemplateRef != "" {
168169 tplName = cluster .Spec .GlobalTopoServer .TemplateRef
169170 }
170171
171- tpl , err := resolver .ResolveCoreTemplate (ctx , tplName )
172+ tpl , err := res .ResolveCoreTemplate (ctx , tplName )
172173 if err != nil {
173174 return fmt .Errorf ("failed to resolve topo template: %w" , err )
174175 }
175176
176- spec := defaults .ResolveGlobalTopo (& cluster .Spec .GlobalTopoServer , tpl )
177+ spec := resolver .ResolveGlobalTopo (& cluster .Spec .GlobalTopoServer , tpl )
177178 // If Etcd is nil, it means we are using External topology (or invalid config handled by validations).
178179 // We only create a TopoServer CR if we are managing Etcd.
179180 if spec .Etcd != nil {
@@ -185,7 +186,7 @@ func (r *MultigresClusterReconciler) reconcileGlobalTopoServer(
185186 },
186187 }
187188 if _ , err := controllerutil .CreateOrUpdate (ctx , r .Client , ts , func () error {
188- // defaults .ResolveGlobalTopo guarantees spec.Etcd.Replicas is set
189+ // resolver .ResolveGlobalTopo guarantees spec.Etcd.Replicas is set
189190 ts .Spec .Etcd = & multigresv1alpha1.EtcdSpec {
190191 Image : spec .Etcd .Image ,
191192 Replicas : spec .Etcd .Replicas ,
@@ -203,20 +204,20 @@ func (r *MultigresClusterReconciler) reconcileGlobalTopoServer(
203204func (r * MultigresClusterReconciler ) reconcileMultiAdmin (
204205 ctx context.Context ,
205206 cluster * multigresv1alpha1.MultigresCluster ,
206- resolver * defaults .Resolver ,
207+ res * resolver .Resolver ,
207208) error {
208209 tplName := cluster .Spec .TemplateDefaults .CoreTemplate
209210 if cluster .Spec .MultiAdmin .TemplateRef != "" {
210211 tplName = cluster .Spec .MultiAdmin .TemplateRef
211212 }
212213
213- tpl , err := resolver .ResolveCoreTemplate (ctx , tplName )
214+ tpl , err := res .ResolveCoreTemplate (ctx , tplName )
214215 if err != nil {
215216 return fmt .Errorf ("failed to resolve admin template: %w" , err )
216217 }
217218
218- // defaults .ResolveMultiAdmin guarantees a non-nil spec with defaults applied
219- spec := defaults .ResolveMultiAdmin (& cluster .Spec .MultiAdmin , tpl )
219+ // resolver .ResolveMultiAdmin guarantees a non-nil spec with defaults applied
220+ spec := resolver .ResolveMultiAdmin (& cluster .Spec .MultiAdmin , tpl )
220221
221222 deploy := & appsv1.Deployment {
222223 ObjectMeta : metav1.ObjectMeta {
@@ -229,7 +230,7 @@ func (r *MultigresClusterReconciler) reconcileMultiAdmin(
229230 },
230231 }
231232 if _ , err := controllerutil .CreateOrUpdate (ctx , r .Client , deploy , func () error {
232- // defaults .ResolveMultiAdmin guarantees Replicas is set
233+ // resolver .ResolveMultiAdmin guarantees Replicas is set
233234 deploy .Spec .Replicas = spec .Replicas
234235 deploy .Spec .Selector = & metav1.LabelSelector {
235236 MatchLabels : map [string ]string {"app" : "multiadmin" , "multigres.com/cluster" : cluster .Name },
@@ -261,14 +262,14 @@ func (r *MultigresClusterReconciler) reconcileMultiAdmin(
261262func (r * MultigresClusterReconciler ) reconcileCells (
262263 ctx context.Context ,
263264 cluster * multigresv1alpha1.MultigresCluster ,
264- resolver * defaults .Resolver ,
265+ res * resolver .Resolver ,
265266) error {
266267 existingCells := & multigresv1alpha1.CellList {}
267268 if err := r .List (ctx , existingCells , client .InNamespace (cluster .Namespace ), client.MatchingLabels {"multigres.com/cluster" : cluster .Name }); err != nil {
268269 return fmt .Errorf ("failed to list existing cells: %w" , err )
269270 }
270271
271- globalTopoRef , err := r .getGlobalTopoRef (ctx , cluster , resolver )
272+ globalTopoRef , err := r .getGlobalTopoRef (ctx , cluster , res )
272273 if err != nil {
273274 return fmt .Errorf ("failed to get global topo ref: %w" , err )
274275 }
@@ -283,12 +284,12 @@ func (r *MultigresClusterReconciler) reconcileCells(
283284 for _ , cellCfg := range cluster .Spec .Cells {
284285 activeCellNames [cellCfg .Name ] = true
285286
286- tpl , err := resolver .ResolveCellTemplate (ctx , cellCfg .CellTemplate )
287+ tpl , err := res .ResolveCellTemplate (ctx , cellCfg .CellTemplate )
287288 if err != nil {
288289 return fmt .Errorf ("failed to resolve cell template '%s': %w" , cellCfg .CellTemplate , err )
289290 }
290291
291- gatewaySpec , localTopoSpec := defaults .MergeCellConfig (tpl , cellCfg .Overrides , cellCfg .Spec )
292+ gatewaySpec , localTopoSpec := resolver .MergeCellConfig (tpl , cellCfg .Overrides , cellCfg .Spec )
292293
293294 cellCR := & multigresv1alpha1.Cell {
294295 ObjectMeta : metav1.ObjectMeta {
@@ -338,14 +339,14 @@ func (r *MultigresClusterReconciler) reconcileCells(
338339func (r * MultigresClusterReconciler ) reconcileDatabases (
339340 ctx context.Context ,
340341 cluster * multigresv1alpha1.MultigresCluster ,
341- resolver * defaults .Resolver ,
342+ res * resolver .Resolver ,
342343) error {
343344 existingTGs := & multigresv1alpha1.TableGroupList {}
344345 if err := r .List (ctx , existingTGs , client .InNamespace (cluster .Namespace ), client.MatchingLabels {"multigres.com/cluster" : cluster .Name }); err != nil {
345346 return fmt .Errorf ("failed to list existing tablegroups: %w" , err )
346347 }
347348
348- globalTopoRef , err := r .getGlobalTopoRef (ctx , cluster , resolver )
349+ globalTopoRef , err := r .getGlobalTopoRef (ctx , cluster , res )
349350 if err != nil {
350351 return fmt .Errorf ("failed to get global topo ref: %w" , err )
351352 }
@@ -367,7 +368,7 @@ func (r *MultigresClusterReconciler) reconcileDatabases(
367368 resolvedShards := []multigresv1alpha1.ShardResolvedSpec {}
368369
369370 for _ , shard := range tg .Shards {
370- tpl , err := resolver .ResolveShardTemplate (ctx , shard .ShardTemplate )
371+ tpl , err := res .ResolveShardTemplate (ctx , shard .ShardTemplate )
371372 if err != nil {
372373 return fmt .Errorf (
373374 "failed to resolve shard template '%s': %w" ,
@@ -376,7 +377,7 @@ func (r *MultigresClusterReconciler) reconcileDatabases(
376377 )
377378 }
378379
379- orch , pools := defaults .MergeShardConfig (tpl , shard .Overrides , shard .Spec )
380+ orch , pools := resolver .MergeShardConfig (tpl , shard .Overrides , shard .Spec )
380381
381382 // Default MultiOrch Cells if empty (Consensus safety)
382383 // If 'cells' is empty, it defaults to all cells where pools are defined.
@@ -448,22 +449,22 @@ func (r *MultigresClusterReconciler) reconcileDatabases(
448449func (r * MultigresClusterReconciler ) getGlobalTopoRef (
449450 ctx context.Context ,
450451 cluster * multigresv1alpha1.MultigresCluster ,
451- resolver * defaults .Resolver ,
452+ res * resolver .Resolver ,
452453) (multigresv1alpha1.GlobalTopoServerRef , error ) {
453454 topoTplName := cluster .Spec .TemplateDefaults .CoreTemplate
454455 if cluster .Spec .GlobalTopoServer .TemplateRef != "" {
455456 topoTplName = cluster .Spec .GlobalTopoServer .TemplateRef
456457 }
457458
458- topoTpl , err := resolver .ResolveCoreTemplate (ctx , topoTplName )
459+ topoTpl , err := res .ResolveCoreTemplate (ctx , topoTplName )
459460 if err != nil {
460461 return multigresv1alpha1.GlobalTopoServerRef {}, fmt .Errorf (
461462 "failed to resolve global topo template: %w" ,
462463 err ,
463464 )
464465 }
465466
466- topoSpec := defaults .ResolveGlobalTopo (& cluster .Spec .GlobalTopoServer , topoTpl )
467+ topoSpec := resolver .ResolveGlobalTopo (& cluster .Spec .GlobalTopoServer , topoTpl )
467468
468469 address := ""
469470 if topoSpec .Etcd != nil {
0 commit comments