Skip to content

Commit 362c11f

Browse files
Merge pull request #131220 from lukasmetzner/feat-ccm-watch-based-route-controller
feat(ccm): watch-based route controller reconciliation Kubernetes-commit: 566525725dcfb5dbdf78458d0f7b1ac425dfc0b7
2 parents 7b94378 + a3517f3 commit 362c11f

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ require (
1010
github.com/spf13/pflag v1.0.9
1111
github.com/stretchr/testify v1.11.1
1212
golang.org/x/oauth2 v0.30.0
13-
k8s.io/api v0.0.0-20251101152117-8b150d50efc9
14-
k8s.io/apimachinery v0.0.0-20251101151749-05faff5a672c
15-
k8s.io/apiserver v0.0.0-20251101154632-6eba6bf54c0d
16-
k8s.io/client-go v0.0.0-20251101152550-4f9edc15a7e7
17-
k8s.io/component-base v0.0.0-20251101153715-0c7fa86d2ef3
13+
k8s.io/api v0.0.0-20251106202824-18e16b5aa26d
14+
k8s.io/apimachinery v0.0.0-20251104194212-729c13d7df38
15+
k8s.io/apiserver v0.0.0-20251106055718-07824e7943a4
16+
k8s.io/client-go v0.0.0-20251106123256-0e6fc04326d2
17+
k8s.io/component-base v0.0.0-20251105043606-09c454e1f74b
1818
k8s.io/klog/v2 v2.130.1
1919
k8s.io/utils v0.0.0-20251002143259-bc988d571ff4
2020
)

go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -271,16 +271,16 @@ gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYs
271271
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
272272
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
273273
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
274-
k8s.io/api v0.0.0-20251101152117-8b150d50efc9 h1:P1VJ0Cta+1g3ZOAduWfXlwivtOut0RkvBLl2U6IKJIk=
275-
k8s.io/api v0.0.0-20251101152117-8b150d50efc9/go.mod h1:KCNAyXzKdz0tzxA8m4XMnxPRckvU84IskGAh7Qf/5wE=
276-
k8s.io/apimachinery v0.0.0-20251101151749-05faff5a672c h1:s4JMRNZUE03qLV8X6sQaP94dfl0HG+dQcSBnYYY+28g=
277-
k8s.io/apimachinery v0.0.0-20251101151749-05faff5a672c/go.mod h1:dR9KPaf5L0t2p9jZg/wCGB4b3ma2sXZ2zdNqILs+Sak=
278-
k8s.io/apiserver v0.0.0-20251101154632-6eba6bf54c0d h1:35+tynpCkdnUj2+YOD/RcJUlKUE7lR9vPkvbhnW1M5U=
279-
k8s.io/apiserver v0.0.0-20251101154632-6eba6bf54c0d/go.mod h1:rFbRIqc79ooeKgvWaM+tcUJPF9Vd2gAsqJSEeb32qLs=
280-
k8s.io/client-go v0.0.0-20251101152550-4f9edc15a7e7 h1:dvAV44v2K5bk1/3J1QF3dCTF+bETIeU78BkNwG2MAvQ=
281-
k8s.io/client-go v0.0.0-20251101152550-4f9edc15a7e7/go.mod h1:x5bqc6UixzIl5pYceAWeJOBZOUoZoghDVHHokZarYXk=
282-
k8s.io/component-base v0.0.0-20251101153715-0c7fa86d2ef3 h1:LSl5cFypu2A5v/GO96gWryJRrythlDlQOBX/XtXyq04=
283-
k8s.io/component-base v0.0.0-20251101153715-0c7fa86d2ef3/go.mod h1:Hg4vHzdLBfaiC57ocfXXPqSKTvLogos0Z5t/YAezWgU=
274+
k8s.io/api v0.0.0-20251106202824-18e16b5aa26d h1:3SQPUUHMeygNWukXQYPtNoQfiqgQkDxv7T+uicVmYGI=
275+
k8s.io/api v0.0.0-20251106202824-18e16b5aa26d/go.mod h1:WAtHXlm214kKcYg1bP2G5eefhLoi/NCF6sxUeTjUXMs=
276+
k8s.io/apimachinery v0.0.0-20251104194212-729c13d7df38 h1:5jRAlNQwmLaPNhf9mfhacvZKFF8fE4nfULiBul0PrGM=
277+
k8s.io/apimachinery v0.0.0-20251104194212-729c13d7df38/go.mod h1:dR9KPaf5L0t2p9jZg/wCGB4b3ma2sXZ2zdNqILs+Sak=
278+
k8s.io/apiserver v0.0.0-20251106055718-07824e7943a4 h1:Op6Ipqfn5zhmr2sV9v2cMN09U3m6+1Kgm4X0+P51cE0=
279+
k8s.io/apiserver v0.0.0-20251106055718-07824e7943a4/go.mod h1:ZGeIITfqduSit7+NaLpRqYPvFbYhhIyNefR79JAyGj8=
280+
k8s.io/client-go v0.0.0-20251106123256-0e6fc04326d2 h1:6wyLSk4mUY9VUUYqsFyDvqEQD9+QoRRBu22loMh9Tw8=
281+
k8s.io/client-go v0.0.0-20251106123256-0e6fc04326d2/go.mod h1:Xw1AYXa8yFMl6qNHHV3E0uhL7RAq+X5I5me/G08wwYY=
282+
k8s.io/component-base v0.0.0-20251105043606-09c454e1f74b h1:iZ59BHeRkNAM5RSutSryNx9qtrgT7YPSM5HanS+GXVw=
283+
k8s.io/component-base v0.0.0-20251105043606-09c454e1f74b/go.mod h1:ccVXlbwyM8koWd6+OylPWi8m3aunkoPzcQcSbVvTHrk=
284284
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
285285
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
286286
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE=

pkg/features/kube_features.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ import (
3131
// of code conflicts because changes are more likely to be scattered
3232
// across the file.
3333
const (
34+
// owner: @lukasmetzner
35+
// kep: http://kep.k8s.io/5237
36+
// Use watch based route controller reconciliation instead of frequent periodic reconciliation.
37+
CloudControllerManagerWatchBasedRoutesReconciliation featuregate.Feature = "CloudControllerManagerWatchBasedRoutesReconciliation"
38+
3439
// owner: @nckturner
3540
// kep: http://kep.k8s.io/2699
3641
// Enable webhook in cloud controller manager
@@ -44,6 +49,9 @@ func SetupCurrentKubernetesSpecificFeatureGates(featuregates featuregate.Mutable
4449
// versionedCloudPublicFeatureGates consists of versioned cloud-specific feature keys.
4550
// To add a new feature, define a key for it above and add it here.
4651
var versionedCloudPublicFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
52+
CloudControllerManagerWatchBasedRoutesReconciliation: {
53+
{Version: version.MustParse("1.35"), Default: false, PreRelease: featuregate.Alpha},
54+
},
4755
CloudControllerManagerWebhook: {
4856
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
4957
},

0 commit comments

Comments
 (0)