Skip to content

Conversation

@rytswd
Copy link
Member

@rytswd rytswd commented Jan 5, 2026

This assumes that multigres/multigres#447 is merged and the new pgctld container image is available at GHCR.

The deployment can be tested with the following commands

# Clone the repositorygit switch correct-cmd-args

# Make sure main.go uses the latest dependencies from local versiongo work initgo work use . ./api ./pkg/cluster-handler ./pkg/resource-handler

# Create a new kind cluster, named multigres-operator-dev, and deploy operator and CRD resourcesmake kind-deploy

# Get kubeconfig into a tmp directorykind get kubeconfig --name multigres-operator-dev > /tmp/kind-kubeconfig.yaml

# Deploy toposerverkubectl --kubeconfig /tmp/kind-kubeconfig.yaml apply -f pkg/resource-handler/e2e-config/kind-toposerver.yaml

# Use a Job to register to topo server, and also include observability stackkubectl --kubeconfig /tmp/kind-kubeconfig.yaml apply -f pkg/resource-handler/e2e-config/hack/

# Deploy sample child resourceskubectl --kubeconfig /tmp/kind-kubeconfig.yaml apply -f pkg/resource-handler/e2e-config/

# Monitor with k9sk9s --kubeconfig /tmp/kind-kubeconfig.yaml

TODO:

  • Check the #439 Multigres upstream demo setup with the job for metadata handling in etcd
  • Backup with certs, there is another job setup
  • 1 pool x 3 replicas for demo
  • 1 cell + 1 topo is fine

Note on how to test and verify

MultiOrch should have the log indicating the successful (or failing) bootstrapping (or MultiPooler)

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

2 similar comments
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@rytswd
Copy link
Member Author

rytswd commented Jan 5, 2026

Included a wrong file in the commit, corrected with force push

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is getting too large to maintain, with so many containers in a pod. I'll consider refactoring this after this PR is merged.

@github-actions
Copy link

🔬 Go Test Coverage Report

Summary

Coverage Type Result
Threshold 0%
Previous Test Coverage 0.0%
New Test Coverage 100.0%

Status

✅ PASS

Detail

Show New Coverage
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/cell_controller.go:32:		Reconcile			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/cell_controller.go:82:		handleDeletion			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/cell_controller.go:106:		reconcileMultiGatewayDeployment	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/cell_controller.go:140:		reconcileMultiGatewayService	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/cell_controller.go:175:		updateStatus			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/cell_controller.go:202:		buildConditions			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/cell_controller.go:237:		SetupWithManager		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/multigateway.go:38:			BuildMultiGatewayDeployment	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/cell/multigateway.go:118:			BuildMultiGatewayService	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/metadata/labels.go:95:			BuildStandardLabels		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/metadata/labels.go:108:			AddCellLabel			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/metadata/labels.go:114:			AddClusterLabel			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/metadata/labels.go:120:			AddShardLabel			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/metadata/labels.go:126:			AddDatabaseLabel		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/metadata/labels.go:132:			AddTableGroupLabel		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/metadata/labels.go:141:			MergeLabels			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/configmap.go:24:			BuildPgHbaConfigMap		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:82:			buildSocketDirVolume		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:92:			buildPgHbaVolume		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:114:			buildPostgresContainer		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:187:			buildPgctldContainer		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:250:			buildMultiPoolerSidecar		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:325:			buildPgctldInitContainer	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:343:			buildMultiOrchContainer		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:381:			buildPgctldVolume		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/containers.go:393:			buildBackupVolume		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/labels.go:11:			buildPoolLabelsWithCell		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/multiorch.go:24:			BuildMultiOrchDeployment	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/multiorch.go:72:			BuildMultiOrchService		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/multiorch.go:102:			buildMultiOrchNameWithCell	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/multiorch.go:107:			buildMultiOrchLabelsWithCell	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/pool_service.go:21:			BuildPoolHeadlessService	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/pool_service.go:56:			buildPoolNameWithCell		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/pool_statefulset.go:34:		BuildPoolStatefulSet		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/pool_statefulset.go:108:		buildPoolVolumeClaimTemplates	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/pool_statefulset.go:135:		BuildBackupPVC			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/ports.go:27:			buildMultiPoolerContainerPorts	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/ports.go:49:			buildPoolHeadlessServicePorts	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/ports.go:74:			buildMultiOrchContainerPorts	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/ports.go:91:			buildMultiOrchServicePorts	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:32:		Reconcile			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:109:		handleDeletion			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:133:		reconcileMultiOrchDeployment	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:172:		reconcilePgHbaConfigMap		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:209:		reconcileMultiOrchService	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:249:		reconcilePool			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:292:		reconcilePoolStatefulSet	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:332:		reconcilePoolBackupPVC		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:373:		reconcilePoolHeadlessService	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:414:		updateStatus			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:449:		updatePoolsStatus		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:486:		updateMultiOrchStatus		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:529:		cellSetToSlice			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:538:		buildConditions			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:568:		getMultiOrchCells		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/shard/shard_controller.go:602:		SetupWithManager		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/storage/pvc.go:19:			BuildPVCTemplate		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/container_env.go:13:		buildContainerEnv		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/container_env.go:41:		buildPodIdentityEnv		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/container_env.go:66:		buildEtcdConfigEnv		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/container_env.go:116:		buildEtcdClusterPeerList	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/ports.go:20:			buildContainerPorts		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/ports.go:48:			buildHeadlessServicePorts	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/ports.go:78:			buildClientServicePorts		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/service.go:17:			BuildHeadlessService		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/service.go:48:			BuildClientService		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/statefulset.go:39:		BuildStatefulSet		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/statefulset.go:118:		buildVolumeClaimTemplates	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:32:	Reconcile			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:91:	reconcileStatefulSet		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:128:	reconcileHeadlessService	100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:166:	reconcileClientService		100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:204:	updateStatus			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:234:	buildConditions			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:262:	handleDeletion			100.0%
github.com/numtide/multigres-operator/pkg/resource-handler/controller/toposerver/toposerver_controller.go:286:	SetupWithManager		100.0%
total:														(statements)			100.0%

@rytswd
Copy link
Member Author

rytswd commented Jan 10, 2026

Making sure that we can test with the main branch, so going ahead with the merge for this one. We will make any refactoring and other adjustments later in a separate PR.

@rytswd rytswd merged commit 40fb79c into main Jan 10, 2026
3 checks passed
@rytswd rytswd deleted the correct-cmd-args branch January 10, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants