Skip to content

Commit 736709a

Browse files
controller: add missing documentation comments
Adds documentation comments to exported types and methods in the controller packages to comply with Go style guidelines requiring all exported identifiers to be documented. Updates: - MultigresClusterReconciler: Added docs for struct and methods. - TableGroupReconciler: Added docs for struct and methods. - TemplateResolver: Added docs for struct, resolve methods, and merge logic helpers. - Reordered Kubebuilder markers to appear after the documentation comments, ensuring correct summary generation in godoc.
1 parent e0c6b2a commit 736709a

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

pkg/cluster-handler/controller/multigrescluster/multigrescluster_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,21 @@ const (
2323
finalizerName = "multigres.com/finalizer"
2424
)
2525

26+
// MultigresClusterReconciler reconciles a MultigresCluster object.
2627
type MultigresClusterReconciler struct {
2728
client.Client
2829
Scheme *runtime.Scheme
2930
}
3031

32+
// Reconcile reads that state of the cluster for a MultigresCluster object and makes changes based on the state read
33+
// and what is in the MultigresCluster.Spec.
34+
//
3135
// +kubebuilder:rbac:groups=multigres.com,resources=multigresclusters,verbs=get;list;watch;create;update;patch;delete
3236
// +kubebuilder:rbac:groups=multigres.com,resources=multigresclusters/status,verbs=get;update;patch
3337
// +kubebuilder:rbac:groups=multigres.com,resources=multigresclusters/finalizers,verbs=update
3438
// +kubebuilder:rbac:groups=multigres.com,resources=coretemplates;celltemplates;shardtemplates,verbs=get;list;watch
3539
// +kubebuilder:rbac:groups=multigres.com,resources=cells;tablegroups;toposervers,verbs=get;list;watch;create;update;patch;delete
3640
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
37-
3841
func (r *MultigresClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
3942
l := log.FromContext(ctx)
4043

@@ -455,6 +458,7 @@ func (r *MultigresClusterReconciler) updateStatus(ctx context.Context, cluster *
455458
return r.Status().Update(ctx, cluster)
456459
}
457460

461+
// SetupWithManager sets up the controller with the Manager.
458462
func (r *MultigresClusterReconciler) SetupWithManager(mgr ctrl.Manager) error {
459463
return ctrl.NewControllerManagedBy(mgr).
460464
For(&multigresv1alpha1.MultigresCluster{}).

pkg/cluster-handler/controller/multigrescluster/template_logic.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,17 @@ import (
1111
"sigs.k8s.io/controller-runtime/pkg/client"
1212
)
1313

14-
// TemplateResolver handles the logic for fetching and merging templates
14+
// TemplateResolver handles the logic for fetching and merging templates.
1515
type TemplateResolver struct {
16-
Client client.Client
16+
// Client is the kubernetes client used to fetch templates.
17+
Client client.Client
18+
// Namespace is the namespace where templates are expected to exist.
1719
Namespace string
18-
Defaults multigresv1alpha1.TemplateDefaults
20+
// Defaults contains the cluster-level template references to use when explicit ones are missing.
21+
Defaults multigresv1alpha1.TemplateDefaults
1922
}
2023

24+
// ResolveCoreTemplate fetches and resolves a CoreTemplate by name, handling defaults.
2125
func (r *TemplateResolver) ResolveCoreTemplate(ctx context.Context, templateName string) (*multigresv1alpha1.CoreTemplate, error) {
2226
name := templateName
2327
if name == "" {
@@ -38,6 +42,7 @@ func (r *TemplateResolver) ResolveCoreTemplate(ctx context.Context, templateName
3842
return tpl, nil
3943
}
4044

45+
// ResolveCellTemplate fetches and resolves a CellTemplate by name, handling defaults.
4146
func (r *TemplateResolver) ResolveCellTemplate(ctx context.Context, templateName string) (*multigresv1alpha1.CellTemplate, error) {
4247
name := templateName
4348
if name == "" {
@@ -58,6 +63,7 @@ func (r *TemplateResolver) ResolveCellTemplate(ctx context.Context, templateName
5863
return tpl, nil
5964
}
6065

66+
// ResolveShardTemplate fetches and resolves a ShardTemplate by name, handling defaults.
6167
func (r *TemplateResolver) ResolveShardTemplate(ctx context.Context, templateName string) (*multigresv1alpha1.ShardTemplate, error) {
6268
name := templateName
6369
if name == "" {
@@ -78,7 +84,7 @@ func (r *TemplateResolver) ResolveShardTemplate(ctx context.Context, templateNam
7884
return tpl, nil
7985
}
8086

81-
// MergeCellConfig merges template spec with overrides
87+
// MergeCellConfig merges a template spec with overrides and an inline spec to produce the final configuration.
8288
func MergeCellConfig(template *multigresv1alpha1.CellTemplate, overrides *multigresv1alpha1.CellOverrides, inline *multigresv1alpha1.CellInlineSpec) (multigresv1alpha1.StatelessSpec, *multigresv1alpha1.LocalTopoServerSpec) {
8389
var gateway multigresv1alpha1.StatelessSpec
8490
var localTopo *multigresv1alpha1.LocalTopoServerSpec
@@ -105,7 +111,7 @@ func MergeCellConfig(template *multigresv1alpha1.CellTemplate, overrides *multig
105111
return gateway, localTopo
106112
}
107113

108-
// MergeShardConfig merges template spec with overrides
114+
// MergeShardConfig merges a template spec with overrides and an inline spec to produce the final configuration.
109115
func MergeShardConfig(template *multigresv1alpha1.ShardTemplate, overrides *multigresv1alpha1.ShardOverrides, inline *multigresv1alpha1.ShardInlineSpec) (multigresv1alpha1.MultiOrchSpec, map[string]multigresv1alpha1.PoolSpec) {
110116
if inline != nil {
111117
return inline.MultiOrch, inline.Pools
@@ -202,6 +208,7 @@ func mergePoolSpec(base multigresv1alpha1.PoolSpec, override multigresv1alpha1.P
202208
return out
203209
}
204210

211+
// ResolveGlobalTopo determines the final GlobalTopoServer configuration by preferring inline config over templates.
205212
func ResolveGlobalTopo(spec *multigresv1alpha1.GlobalTopoServerSpec, coreTemplate *multigresv1alpha1.CoreTemplate) *multigresv1alpha1.GlobalTopoServerSpec {
206213
// If inline config is present, use it.
207214
if spec.Etcd != nil || spec.External != nil {
@@ -218,6 +225,7 @@ func ResolveGlobalTopo(spec *multigresv1alpha1.GlobalTopoServerSpec, coreTemplat
218225
return spec
219226
}
220227

228+
// ResolveMultiAdmin determines the final MultiAdmin configuration by preferring inline config over templates.
221229
func ResolveMultiAdmin(spec *multigresv1alpha1.MultiAdminConfig, coreTemplate *multigresv1alpha1.CoreTemplate) *multigresv1alpha1.StatelessSpec {
222230
// If inline spec is present, use it.
223231
if spec.Spec != nil {

pkg/cluster-handler/controller/tablegroup/tablegroup_controller.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,17 @@ import (
1717
multigresv1alpha1 "github.com/numtide/multigres-operator/api/v1alpha1"
1818
)
1919

20+
// TableGroupReconciler reconciles a TableGroup object.
2021
type TableGroupReconciler struct {
2122
client.Client
2223
Scheme *runtime.Scheme
2324
}
2425

26+
// Reconcile reads the state of the TableGroup and ensures its child Shards are in the desired state.
27+
//
2528
// +kubebuilder:rbac:groups=multigres.com,resources=tablegroups,verbs=get;list;watch;create;update;patch;delete
2629
// +kubebuilder:rbac:groups=multigres.com,resources=tablegroups/status,verbs=get;update;patch
2730
// +kubebuilder:rbac:groups=multigres.com,resources=shards,verbs=get;list;watch;create;update;patch;delete
28-
2931
func (r *TableGroupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
3032
l := log.FromContext(ctx)
3133

@@ -138,6 +140,7 @@ func (r *TableGroupReconciler) Reconcile(ctx context.Context, req ctrl.Request)
138140
return ctrl.Result{RequeueAfter: 1 * time.Minute}, nil
139141
}
140142

143+
// SetupWithManager sets up the controller with the Manager.
141144
func (r *TableGroupReconciler) SetupWithManager(mgr ctrl.Manager) error {
142145
return ctrl.NewControllerManagedBy(mgr).
143146
For(&multigresv1alpha1.TableGroup{}).

0 commit comments

Comments
 (0)