Skip to content

Commit bf6a5c6

Browse files
committed
feat:kcc: MCL integration
Signed-off-by: Alex Pana <[email protected]>
1 parent 694f7cd commit bf6a5c6

File tree

4 files changed

+153
-48
lines changed

4 files changed

+153
-48
lines changed

cmd/manager/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ func main() {
6262
pprofPort int
6363
rateLimitQps float32
6464
rateLimitBurst int
65+
multiClusterElection bool
6566
)
6667
flag.StringVar(&prometheusScrapeEndpoint, "prometheus-scrape-endpoint", ":8888", "configure the Prometheus scrape endpoint; :8888 as default")
6768
flag.BoolVar(&controllermetrics.ResourceNameLabel, "resource-name-label", false, "option to enable the resource name label on some Prometheus metrics; false by default")
@@ -72,6 +73,7 @@ func main() {
7273
flag.IntVar(&pprofPort, "pprof-port", 6060, "The port that the pprof server binds to if enabled.")
7374
flag.Float32Var(&rateLimitQps, "qps", 20.0, "The client-side token bucket rate limit qps.")
7475
flag.IntVar(&rateLimitBurst, "burst", 30, "The client-side token bucket rate limit burst.")
76+
flag.BoolVar(&multiClusterElection, "multi-cluster-election", false, "Enable multi-cluster leader election.")
7577
profiler.AddFlag(flag.CommandLine)
7678
flag.CommandLine.AddGoFlagSet(goflag.CommandLine)
7779
flag.Parse()

go.mod

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ require (
8080
github.com/cenkalti/backoff v2.2.1+incompatible
8181
github.com/fatih/color v1.18.0
8282
github.com/ghodss/yaml v1.0.0
83+
github.com/gke-labs/multicluster-leader-election v0.0.0-20250923220528-0bf41dc7fecc
8384
github.com/go-logr/logr v1.4.3
8485
github.com/go-logr/zapr v1.3.0
8586
github.com/google/go-cmp v0.7.0
@@ -95,13 +96,13 @@ require (
9596
github.com/olekukonko/tablewriter v0.0.5
9697
github.com/onsi/gomega v1.36.1
9798
github.com/pkg/errors v0.9.1
98-
github.com/prometheus/client_golang v1.20.4
99+
github.com/prometheus/client_golang v1.22.0
99100
github.com/prometheus/procfs v0.15.1
100101
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749
101102
github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd
102103
github.com/spf13/cobra v1.8.1
103104
github.com/spf13/pflag v1.0.5
104-
github.com/stretchr/testify v1.10.0
105+
github.com/stretchr/testify v1.11.0
105106
github.com/tmccombs/hcl2json v0.6.7
106107
github.com/zclconf/go-cty v1.16.3
107108
go.opencensus.io v0.24.0
@@ -119,41 +120,55 @@ require (
119120
google.golang.org/protobuf v1.36.7
120121
gopkg.in/dnaeon/go-vcr.v3 v3.2.0
121122
gopkg.in/yaml.v2 v2.4.0
122-
k8s.io/api v0.32.1
123-
k8s.io/apiextensions-apiserver v0.32.1
124-
k8s.io/apimachinery v0.32.1
125-
k8s.io/client-go v0.32.1
123+
k8s.io/api v0.33.0
124+
k8s.io/apiextensions-apiserver v0.33.0
125+
k8s.io/apimachinery v0.33.0
126+
k8s.io/client-go v0.33.0
126127
k8s.io/klog/v2 v2.130.1
127-
sigs.k8s.io/controller-runtime v0.20.4
128+
sigs.k8s.io/controller-runtime v0.21.0
128129
sigs.k8s.io/controller-tools v0.16.5
130+
sigs.k8s.io/kind v0.30.0
129131
sigs.k8s.io/kubebuilder-declarative-pattern v0.20.0-beta.1.0.20250514194322-871029137730
130132
sigs.k8s.io/kubebuilder-declarative-pattern/mockkubeapiserver v0.0.0-20230303024857-d1f76c15e05b
131-
sigs.k8s.io/structured-merge-diff/v4 v4.4.2
133+
sigs.k8s.io/structured-merge-diff/v4 v4.6.0
132134
sigs.k8s.io/yaml v1.4.0
133135
)
134136

135137
require go.opentelemetry.io/auto/sdk v1.1.0 // indirect
136138

137139
require (
140+
al.essio.dev/pkg/shellescape v1.5.1 // indirect
138141
cloud.google.com/go/osconfig v1.14.6 // indirect
142+
github.com/BurntSushi/toml v1.4.0 // indirect
143+
github.com/dustin/go-humanize v1.0.1 // indirect
139144
github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect
140145
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
146+
github.com/go-ini/ini v1.67.0 // indirect
141147
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
142148
github.com/google/flatbuffers v24.3.25+incompatible // indirect
143-
github.com/google/gnostic-models v0.6.8 // indirect
144-
github.com/gorilla/websocket v1.5.3 // indirect
149+
github.com/google/gnostic-models v0.6.9 // indirect
150+
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
151+
github.com/minio/crc64nvme v1.0.2 // indirect
152+
github.com/minio/md5-simd v1.1.2 // indirect
153+
github.com/minio/minio-go/v7 v7.0.95 // indirect
145154
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
155+
github.com/pelletier/go-toml v1.9.5 // indirect
146156
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
157+
github.com/philhofer/fwd v1.2.0 // indirect
147158
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
159+
github.com/rs/xid v1.6.0 // indirect
148160
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
161+
github.com/tinylib/msgp v1.3.0 // indirect
149162
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
150163
github.com/x448/float16 v0.8.4 // indirect
151164
github.com/zeebo/errs v1.4.0 // indirect
165+
go.yaml.in/yaml/v3 v3.0.4 // indirect
152166
golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053 // indirect
153167
golang.org/x/tools/godoc v0.1.0-deprecated // indirect
154168
gonum.org/v1/gonum v0.16.0 // indirect
155169
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
156170
sigs.k8s.io/kubebuilder-declarative-pattern/ktest v0.0.0-20250514194322-871029137730 // indirect
171+
sigs.k8s.io/randfill v1.0.0 // indirect
157172
)
158173

159174
require (
@@ -200,14 +215,13 @@ require (
200215
github.com/go-openapi/jsonreference v0.21.0 // indirect
201216
github.com/go-openapi/swag v0.23.0 // indirect
202217
github.com/gobuffalo/flect v1.0.3 // indirect
203-
github.com/goccy/go-json v0.10.2 // indirect
218+
github.com/goccy/go-json v0.10.5 // indirect
204219
github.com/gogo/protobuf v1.3.2 // indirect
205220
github.com/golang/glog v1.2.5 // indirect
206221
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
207222
github.com/golang/protobuf v1.5.4
208223
github.com/google/btree v1.1.3 // indirect
209224
github.com/google/go-cpy v0.0.0-20211218193943-a9c933c06932 // indirect
210-
github.com/google/gofuzz v1.2.0 // indirect
211225
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
212226
github.com/google/s2a-go v0.1.9 // indirect
213227
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
@@ -239,7 +253,7 @@ require (
239253
github.com/josharian/intern v1.0.0 // indirect
240254
github.com/json-iterator/go v1.1.12 // indirect
241255
github.com/kevinburke/ssh_config v1.2.0 // indirect
242-
github.com/klauspost/compress v1.17.9 // indirect
256+
github.com/klauspost/compress v1.18.0 // indirect
243257
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
244258
github.com/kylelemons/godebug v1.1.0 // indirect
245259
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
@@ -265,7 +279,7 @@ require (
265279
github.com/pjbgf/sha1cd v0.3.2 // indirect
266280
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
267281
github.com/prometheus/client_model v0.6.1 // indirect
268-
github.com/prometheus/common v0.59.1 // indirect
282+
github.com/prometheus/common v0.62.0 // indirect
269283
github.com/rivo/uniseg v0.4.7 // indirect
270284
github.com/russross/blackfriday/v2 v2.1.0 // indirect
271285
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
@@ -299,8 +313,8 @@ require (
299313
gopkg.in/warnings.v0 v0.1.2 // indirect
300314
gopkg.in/yaml.v3 v3.0.1
301315
k8s.io/cli-runtime v0.32.1 // indirect
302-
k8s.io/component-base v0.32.1 // indirect
303-
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
316+
k8s.io/component-base v0.33.0 // indirect
317+
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
304318
k8s.io/kubectl v0.32.1 // indirect
305319
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738
306320
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect

0 commit comments

Comments
 (0)