Skip to content

Commit 6ee0029

Browse files
committed
Update multicluster-runtime
1 parent 088f8c9 commit 6ee0029

6 files changed

Lines changed: 27 additions & 12 deletions

File tree

go.mod

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ require (
2020
github.com/google/uuid v1.6.0
2121
github.com/kcp-dev/api-syncagent/sdk v0.0.0-00010101000000-000000000000
2222
github.com/kcp-dev/logicalcluster/v3 v3.0.5
23-
github.com/kcp-dev/multicluster-provider v0.3.2-0.20251209135920-e758bf0f4e48
23+
github.com/kcp-dev/multicluster-provider v0.6.0
2424
github.com/kcp-dev/sdk v0.31.0
2525
github.com/kcp-dev/virtual-workspace-framework v0.31.0
2626
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
@@ -38,8 +38,8 @@ require (
3838
k8s.io/component-base v0.35.1
3939
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912
4040
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4
41-
sigs.k8s.io/controller-runtime v0.22.4
42-
sigs.k8s.io/multicluster-runtime v0.22.4-beta.1
41+
sigs.k8s.io/controller-runtime v0.23.3
42+
sigs.k8s.io/multicluster-runtime v0.23.3
4343
sigs.k8s.io/yaml v1.6.0
4444
)
4545

@@ -89,6 +89,7 @@ require (
8989
github.com/json-iterator/go v1.1.12 // indirect
9090
github.com/kcp-dev/apimachinery/v2 v2.31.0 // indirect
9191
github.com/kcp-dev/client-go v0.31.0 // indirect
92+
github.com/kcp-dev/multicluster-provider/client v0.0.0-20260412105142-7979b3b2700b // indirect
9293
github.com/kylelemons/godebug v1.1.0 // indirect
9394
github.com/mailru/easyjson v0.9.1 // indirect
9495
github.com/mitchellh/copystructure v1.2.0 // indirect
@@ -144,5 +145,5 @@ require (
144145
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect
145146
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
146147
sigs.k8s.io/randfill v1.0.0 // indirect
147-
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
148+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482 // indirect
148149
)

go.sum

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,10 @@ github.com/kcp-dev/logicalcluster/v3 v3.0.5 h1:JbYakokb+5Uinz09oTXomSUJVQsqfxEvU
140140
github.com/kcp-dev/logicalcluster/v3 v3.0.5/go.mod h1:EWBUBxdr49fUB1cLMO4nOdBWmYifLbP1LfoL20KkXYY=
141141
github.com/kcp-dev/multicluster-provider v0.3.2-0.20251209135920-e758bf0f4e48 h1:QgE4koFt6oU+3cfZquU467Ybv9H/HYikth5neMJeUe0=
142142
github.com/kcp-dev/multicluster-provider v0.3.2-0.20251209135920-e758bf0f4e48/go.mod h1:4QGU39wyNztoYNatdWqbdOV6/R9ZzaIh4DdSj30dm9o=
143+
github.com/kcp-dev/multicluster-provider v0.6.0 h1:t7Wac92T4dde9DMMVqA/VPhNhrqkgZ4/Cyij0yh0M5s=
144+
github.com/kcp-dev/multicluster-provider v0.6.0/go.mod h1:pJvWD+5dP+aMsntlu7sBG7oOmYrWfuWKqDQ8WBHur34=
145+
github.com/kcp-dev/multicluster-provider/client v0.0.0-20260412105142-7979b3b2700b h1:1f7JwDEVVQOAusprI82rxU3iYLbEe16TYv7iyHFJarY=
146+
github.com/kcp-dev/multicluster-provider/client v0.0.0-20260412105142-7979b3b2700b/go.mod h1:kK9CSLmECoRiOU+xKOhIE4tHpQBcBbBvWOgKORC/eqI=
143147
github.com/kcp-dev/sdk v0.31.0 h1:fLqgY6MHVmmBcttqR/V3h2Dnv7xmab84FTKTwV08+Bo=
144148
github.com/kcp-dev/sdk v0.31.0/go.mod h1:GpNW9wPULY9+UuLVAaB5z/sJ8r0Jo/l0Jgy4BKnIJTE=
145149
github.com/kcp-dev/virtual-workspace-framework v0.31.0 h1:4Vm4T5EI5rzrE2JJBFpE6oMCPPu74R5R2kaAk6LI3is=
@@ -367,13 +371,19 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 h1:jpcvIRr3GLoUo
367371
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw=
368372
sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A=
369373
sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8=
374+
sigs.k8s.io/controller-runtime v0.23.3 h1:VjB/vhoPoA9l1kEKZHBMnQF33tdCLQKJtydy4iqwZ80=
375+
sigs.k8s.io/controller-runtime v0.23.3/go.mod h1:B6COOxKptp+YaUT5q4l6LqUJTRpizbgf9KSRNdQGns0=
370376
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
371377
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
372378
sigs.k8s.io/multicluster-runtime v0.22.4-beta.1 h1:0XWbDINepM9UOyLkqhG4g7BtGBFKCDvZFyPsw1vufKE=
373379
sigs.k8s.io/multicluster-runtime v0.22.4-beta.1/go.mod h1:zSMb4mC8MAZK42l8eE1ywkeX6vjuNRenYzJ1w+GPdfI=
380+
sigs.k8s.io/multicluster-runtime v0.23.3 h1:vrzlXRzHTDsjspUAfoW2rCtr0agoI4q20p9x4Fz4png=
381+
sigs.k8s.io/multicluster-runtime v0.23.3/go.mod h1:r/UA4GHgFoXCcR4tcvlZz7SiLx3l1kJKDuBAhILNIHs=
374382
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
375383
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
376384
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=
377385
sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
386+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482 h1:2WOzJpHUBVrrkDjU4KBT8n5LDcj824eX0I5UKcgeRUs=
387+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
378388
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
379389
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=

internal/controller/sync/controller.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ import (
5454
mccontroller "sigs.k8s.io/multicluster-runtime/pkg/controller"
5555
mchandler "sigs.k8s.io/multicluster-runtime/pkg/handler"
5656
mcmanager "sigs.k8s.io/multicluster-runtime/pkg/manager"
57+
"sigs.k8s.io/multicluster-runtime/pkg/multicluster"
5758
mcreconcile "sigs.k8s.io/multicluster-runtime/pkg/reconcile"
5859
mcsource "sigs.k8s.io/multicluster-runtime/pkg/source"
5960
)
@@ -263,7 +264,7 @@ func buildKcpRelatedHandler(
263264
switch {
264265
case watch.ByOwner != nil:
265266
ownerGVK := remoteDummy.GroupVersionKind()
266-
return func(clusterName string, _ cluster.Cluster) handler.TypedEventHandler[*unstructured.Unstructured, mcreconcile.Request] {
267+
return func(clusterName multicluster.ClusterName, _ cluster.Cluster) handler.TypedEventHandler[*unstructured.Unstructured, mcreconcile.Request] {
267268
return &byOwnerEventHandler{
268269
clusterName: clusterName,
269270
ownerGVK: ownerGVK,
@@ -273,7 +274,7 @@ func buildKcpRelatedHandler(
273274
case watch.BySelector != nil:
274275
labelSelector := watch.BySelector
275276
primaryDummy := remoteDummy.DeepCopy()
276-
return func(clusterName string, cl cluster.Cluster) handler.TypedEventHandler[*unstructured.Unstructured, mcreconcile.Request] {
277+
return func(clusterName multicluster.ClusterName, cl cluster.Cluster) handler.TypedEventHandler[*unstructured.Unstructured, mcreconcile.Request] {
277278
return &bySelectorEventHandler{
278279
clusterName: clusterName,
279280
client: cl.GetClient(),

internal/controller/sync/related_handlers.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ import (
3030
ctrlruntimeclient "sigs.k8s.io/controller-runtime/pkg/client"
3131
"sigs.k8s.io/controller-runtime/pkg/event"
3232
"sigs.k8s.io/controller-runtime/pkg/reconcile"
33+
"sigs.k8s.io/multicluster-runtime/pkg/multicluster"
3334
mcreconcile "sigs.k8s.io/multicluster-runtime/pkg/reconcile"
3435
)
3536

3637
// byOwnerEventHandler enqueues the primary object by inspecting the OwnerReferences
3738
// of the changed related object and finding one matching the configured GVK.
3839
type byOwnerEventHandler struct {
39-
clusterName string
40+
clusterName multicluster.ClusterName
4041
ownerGVK schema.GroupVersionKind
4142
}
4243

@@ -80,7 +81,7 @@ func (h *byOwnerEventHandler) enqueue(obj *unstructured.Unstructured, q workqueu
8081
// bySelectorEventHandler enqueues primary objects by listing primaries matching the configured
8182
// label selector whenever a related object changes.
8283
type bySelectorEventHandler struct {
83-
clusterName string
84+
clusterName multicluster.ClusterName
8485
client ctrlruntimeclient.Client
8586
primaryDummy *unstructured.Unstructured
8687
labelSelector *metav1.LabelSelector

internal/kcp/multicluster.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import (
3636
"sigs.k8s.io/controller-runtime/pkg/manager"
3737
"sigs.k8s.io/controller-runtime/pkg/metrics/server"
3838
mcmanager "sigs.k8s.io/multicluster-runtime/pkg/manager"
39+
"sigs.k8s.io/multicluster-runtime/pkg/multicluster"
3940
)
4041

4142
// DynamicMultiClusterManager (DMCM) is an extension to the regular multicluster manager.
@@ -162,14 +163,14 @@ type engagedCluster struct {
162163
type clusterTracker struct {
163164
dynManager *DynamicMultiClusterManager
164165
lock sync.RWMutex
165-
clusters map[string]engagedCluster
166+
clusters map[multicluster.ClusterName]engagedCluster
166167
}
167168

168169
func newClusterTracker(dmcm *DynamicMultiClusterManager) *clusterTracker {
169170
return &clusterTracker{
170171
dynManager: dmcm,
171172
lock: sync.RWMutex{},
172-
clusters: map[string]engagedCluster{},
173+
clusters: map[multicluster.ClusterName]engagedCluster{},
173174
}
174175
}
175176

@@ -178,7 +179,7 @@ func (s *clusterTracker) Start(_ context.Context) error {
178179
return nil
179180
}
180181

181-
func (s *clusterTracker) Engage(ctx context.Context, clusterName string, cl cluster.Cluster) error {
182+
func (s *clusterTracker) Engage(ctx context.Context, clusterName multicluster.ClusterName, cl cluster.Cluster) error {
182183
if _, ok := s.clusters[clusterName]; !ok {
183184
s.lock.Lock()
184185
s.clusters[clusterName] = engagedCluster{ctx: ctx, cl: cl}

internal/sync/metadata.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"k8s.io/apimachinery/pkg/util/sets"
2929
ctrlruntimeclient "sigs.k8s.io/controller-runtime/pkg/client"
3030
"sigs.k8s.io/controller-runtime/pkg/reconcile"
31+
"sigs.k8s.io/multicluster-runtime/pkg/multicluster"
3132
mcreconcile "sigs.k8s.io/multicluster-runtime/pkg/reconcile"
3233
)
3334

@@ -151,7 +152,7 @@ func RemoteNameForLocalObject(localObj ctrlruntimeclient.Object) *mcreconcile.Re
151152
}
152153

153154
return &mcreconcile.Request{
154-
ClusterName: clusterName,
155+
ClusterName: multicluster.ClusterName(clusterName),
155156
Request: reconcile.Request{
156157
NamespacedName: types.NamespacedName{
157158
Namespace: namespace,

0 commit comments

Comments
 (0)