Skip to content

Commit 11ec178

Browse files
authored
Merge pull request #471 from gianlucam76/remove-rbac-proxy
Remove RBAC proxy sidecar
2 parents 649ca16 + 04ad183 commit 11ec178

File tree

10 files changed

+140
-158
lines changed

10 files changed

+140
-158
lines changed

cmd/main.go

+40-14
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ import (
4545
"sigs.k8s.io/controller-runtime/pkg/controller"
4646
"sigs.k8s.io/controller-runtime/pkg/healthz"
4747
"sigs.k8s.io/controller-runtime/pkg/manager"
48+
"sigs.k8s.io/controller-runtime/pkg/metrics/filters"
4849
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
4950
"sigs.k8s.io/controller-runtime/pkg/webhook"
5051

@@ -62,8 +63,8 @@ import (
6263

6364
var (
6465
setupLog = ctrl.Log.WithName("setup")
65-
metricsAddr string
66-
probeAddr string
66+
diagnosticsAddress string
67+
insecureDiagnostics bool
6768
shardKey string
6869
workers int
6970
concurrentReconciles int
@@ -75,6 +76,7 @@ var (
7576
webhookPort int
7677
syncPeriod time.Duration
7778
version string
79+
healthAddr string
7880
)
7981

8082
const (
@@ -84,6 +86,10 @@ const (
8486
defaulReportMode = int(controllers.CollectFromManagementCluster)
8587
)
8688

89+
// Add RBAC for the authorized diagnostics endpoint.
90+
// +kubebuilder:rbac:groups=authentication.k8s.io,resources=tokenreviews,verbs=create
91+
// +kubebuilder:rbac:groups=authorization.k8s.io,resources=subjectaccessreviews,verbs=create
92+
8793
func main() {
8894
scheme, err := controllers.InitScheme()
8995
if err != nil {
@@ -103,10 +109,8 @@ func main() {
103109

104110
ctrlOptions := ctrl.Options{
105111
Scheme: scheme,
106-
HealthProbeBindAddress: probeAddr,
107-
Metrics: metricsserver.Options{
108-
BindAddress: metricsAddr,
109-
},
112+
Metrics: getDiagnosticsOptions(),
113+
HealthProbeBindAddress: healthAddr,
110114
WebhookServer: webhook.NewServer(
111115
webhook.Options{
112116
Port: webhookPort,
@@ -193,15 +197,13 @@ func initFlags(fs *pflag.FlagSet) {
193197
false,
194198
"When set, indicates drift-detection-manager needs to be started in the management cluster")
195199

196-
fs.StringVar(&metricsAddr,
197-
"metrics-bind-address",
198-
":8080",
199-
"The address the metric endpoint binds to.")
200+
fs.StringVar(&diagnosticsAddress, "diagnostics-address", ":8443",
201+
"The address the diagnostics endpoint binds to. Per default metrics are served via https and with"+
202+
"authentication/authorization. To serve via http and without authentication/authorization set --insecure-diagnostics."+
203+
"If --insecure-diagnostics is not set the diagnostics endpoint also serves pprof endpoints and an endpoint to change the log level.")
200204

201-
fs.StringVar(&probeAddr,
202-
"health-probe-bind-address",
203-
":8081",
204-
"The address the probe endpoint binds to.")
205+
fs.BoolVar(&insecureDiagnostics, "insecure-diagnostics", false,
206+
"Enable insecure diagnostics serving. For more details see the description of --diagnostics-address.")
205207

206208
fs.StringVar(&shardKey,
207209
"shard-key",
@@ -225,6 +227,9 @@ func initFlags(fs *pflag.FlagSet) {
225227
"",
226228
"current sveltos version")
227229

230+
fs.StringVar(&healthAddr, "health-addr", ":9440",
231+
"The address the health endpoint binds to.")
232+
228233
const defautlRestConfigQPS = 20
229234
fs.Float32Var(&restConfigQPS, "kube-api-qps", defautlRestConfigQPS,
230235
fmt.Sprintf("Maximum queries per second from the controller client to the Kubernetes API server. Defaults to %d",
@@ -453,3 +458,24 @@ func getClusterSummaryReconciler(ctx context.Context, mgr manager.Manager) *cont
453458
ConcurrentReconciles: concurrentReconciles,
454459
}
455460
}
461+
462+
// getDiagnosticsOptions returns metrics options which can be used to configure a Manager.
463+
func getDiagnosticsOptions() metricsserver.Options {
464+
// If "--insecure-diagnostics" is set, serve metrics via http
465+
// and without authentication/authorization.
466+
if insecureDiagnostics {
467+
return metricsserver.Options{
468+
BindAddress: diagnosticsAddress,
469+
SecureServing: false,
470+
}
471+
}
472+
473+
// If "--insecure-diagnostics" is not set, serve metrics via https
474+
// and with authentication/authorization. As the endpoint is protected,
475+
// we also serve pprof endpoints and an endpoint to change the log level.
476+
return metricsserver.Options{
477+
BindAddress: diagnosticsAddress,
478+
SecureServing: true,
479+
FilterProvider: filters.WithAuthenticationAndAuthorization,
480+
}
481+
}

config/default/manager_auth_proxy_patch.yaml

+1-25
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,9 @@ spec:
99
template:
1010
spec:
1111
containers:
12-
- name: kube-rbac-proxy
13-
securityContext:
14-
allowPrivilegeEscalation: false
15-
capabilities:
16-
drop:
17-
- "ALL"
18-
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.12.0
19-
args:
20-
- "--secure-listen-address=0.0.0.0:8443"
21-
- "--upstream=http://127.0.0.1:8080/"
22-
- "--logtostderr=true"
23-
- "--v=0"
24-
ports:
25-
- containerPort: 8443
26-
protocol: TCP
27-
name: https
28-
resources:
29-
limits:
30-
cpu: 500m
31-
memory: 128Mi
32-
requests:
33-
cpu: 5m
34-
memory: 64Mi
3512
- name: controller
3613
args:
37-
- "--health-probe-bind-address=:8081"
38-
- "--metrics-bind-address=127.0.0.1:8080"
14+
- "--diagnostics-address=:8443"
3915
- "--report-mode=0"
4016
- --shard-key=
4117
- "--v=5"

config/manager/manager.yaml

+13-2
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,32 @@ spec:
3939
image: controller:latest
4040
imagePullPolicy: Always
4141
name: controller
42+
ports:
43+
- containerPort: 8443
44+
name: metrics
45+
protocol: TCP
46+
- containerPort: 9440
47+
name: healthz
48+
protocol: TCP
4249
securityContext:
4350
allowPrivilegeEscalation: false
4451
capabilities:
4552
drop:
4653
- "ALL"
4754
livenessProbe:
55+
failureThreshold: 3
4856
httpGet:
4957
path: /healthz
50-
port: 8081
58+
port: healthz
59+
scheme: HTTP
5160
initialDelaySeconds: 15
5261
periodSeconds: 20
5362
readinessProbe:
63+
failureThreshold: 3
5464
httpGet:
5565
path: /readyz
56-
port: 8081
66+
port: healthz
67+
scheme: HTTP
5768
initialDelaySeconds: 5
5869
periodSeconds: 10
5970
volumeMounts:

config/rbac/kustomization.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ resources:
1111
# Comment the following 4 lines if you want to disable
1212
# the auth proxy (https://github.com/brancz/kube-rbac-proxy)
1313
# which protects your /metrics endpoint.
14-
- auth_proxy_service.yaml
15-
- auth_proxy_role.yaml
16-
- auth_proxy_role_binding.yaml
17-
- auth_proxy_client_clusterrole.yaml
14+
# - auth_proxy_service.yaml
15+
# - auth_proxy_role.yaml
16+
# - auth_proxy_role_binding.yaml
17+
# - auth_proxy_client_clusterrole.yaml

config/rbac/role.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,18 @@ rules:
3737
- get
3838
- list
3939
- watch
40+
- apiGroups:
41+
- authentication.k8s.io
42+
resources:
43+
- tokenreviews
44+
verbs:
45+
- create
46+
- apiGroups:
47+
- authorization.k8s.io
48+
resources:
49+
- subjectaccessreviews
50+
verbs:
51+
- create
4052
- apiGroups:
4153
- cluster.x-k8s.io
4254
resources:

controllers/handlers_helm.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1669,8 +1669,8 @@ func addExtraMetadata(ctx context.Context, requestedChart *configv1alpha1.HelmCh
16691669
return nil
16701670
}
16711671

1672-
if clusterSummary.Spec.ClusterProfileSpec.ExtraAnnotations == nil &&
1673-
clusterSummary.Spec.ClusterProfileSpec.ExtraLabels == nil {
1672+
if clusterSummary.Spec.ClusterProfileSpec.ExtraLabels == nil &&
1673+
clusterSummary.Spec.ClusterProfileSpec.ExtraAnnotations == nil {
16741674

16751675
return nil
16761676
}

go.mod

+11
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,11 @@ require (
4343
github.com/Masterminds/goutils v1.1.1 // indirect
4444
github.com/Masterminds/squirrel v1.5.4 // indirect
4545
github.com/Microsoft/hcsshim v0.11.4 // indirect
46+
github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect
4647
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
4748
github.com/beorn7/perks v1.0.1 // indirect
4849
github.com/blang/semver/v4 v4.0.0 // indirect
50+
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
4951
github.com/cespare/xxhash/v2 v2.2.0 // indirect
5052
github.com/chai2010/gettext-go v1.0.2 // indirect
5153
github.com/containerd/containerd v1.7.11 // indirect
@@ -82,6 +84,7 @@ require (
8284
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
8385
github.com/golang/protobuf v1.5.3 // indirect
8486
github.com/google/btree v1.1.2 // indirect
87+
github.com/google/cel-go v0.17.7 // indirect
8588
github.com/google/gnostic-models v0.6.8 // indirect
8689
github.com/google/go-cmp v0.6.0 // indirect
8790
github.com/google/gofuzz v1.2.0 // indirect
@@ -92,6 +95,7 @@ require (
9295
github.com/gorilla/websocket v1.5.1 // indirect
9396
github.com/gosuri/uitable v0.0.4 // indirect
9497
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
98+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
9599
github.com/hashicorp/errwrap v1.1.0 // indirect
96100
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
97101
github.com/hashicorp/go-multierror v1.1.1 // indirect
@@ -139,15 +143,20 @@ require (
139143
github.com/sirupsen/logrus v1.9.3 // indirect
140144
github.com/spf13/cast v1.6.0 // indirect
141145
github.com/spf13/cobra v1.8.0 // indirect
146+
github.com/stoewer/go-strcase v1.2.0 // indirect
142147
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
143148
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
144149
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
145150
github.com/xlab/treeprint v1.2.0 // indirect
146151
github.com/zeebo/blake3 v0.2.3 // indirect
147152
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect
148153
go.opentelemetry.io/otel v1.21.0 // indirect
154+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0 // indirect
155+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0 // indirect
149156
go.opentelemetry.io/otel/metric v1.21.0 // indirect
157+
go.opentelemetry.io/otel/sdk v1.20.0 // indirect
150158
go.opentelemetry.io/otel/trace v1.21.0 // indirect
159+
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
151160
go.starlark.net v0.0.0-20231121155337-90ade8b19d09 // indirect
152161
golang.org/x/crypto v0.18.0 // indirect
153162
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect
@@ -160,6 +169,7 @@ require (
160169
golang.org/x/tools v0.16.1 // indirect
161170
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
162171
google.golang.org/appengine v1.6.8 // indirect
172+
google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 // indirect
163173
google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 // indirect
164174
google.golang.org/grpc v1.60.1 // indirect
165175
google.golang.org/protobuf v1.32.0 // indirect
@@ -171,6 +181,7 @@ require (
171181
k8s.io/kube-openapi v0.0.0-20240103195357-a9f8850cb432 // indirect
172182
k8s.io/kubectl v0.29.1 // indirect
173183
oras.land/oras-go v1.2.4 // indirect
184+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
174185
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
175186
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
176187
sigs.k8s.io/yaml v1.4.0 // indirect

go.sum

+17
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembj
4747
github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50=
4848
github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o=
4949
github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE=
50+
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
51+
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
5052
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
5153
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
5254
github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk=
@@ -163,6 +165,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA
163165
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
164166
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
165167
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
168+
github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
169+
github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
166170
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
167171
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
168172
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -206,6 +210,8 @@ github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY=
206210
github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo=
207211
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
208212
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
213+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms=
214+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg=
209215
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
210216
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
211217
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -422,10 +428,18 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJ
422428
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo=
423429
go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc=
424430
go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo=
431+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0 h1:DeFD0VgTZ+Cj6hxravYYZE2W4GlneVH81iAOPjZkzk8=
432+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.20.0/go.mod h1:GijYcYmNpX1KazD5JmWGsi4P7dDTTTnfv1UbGn84MnU=
433+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0 h1:gvmNvqrPYovvyRmCSygkUDyL8lC5Tl845MLEwqpxhEU=
434+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0/go.mod h1:vNUq47TGFioo+ffTSnKNdob241vePmtNZnAODKapKd0=
425435
go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4=
426436
go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM=
437+
go.opentelemetry.io/otel/sdk v1.20.0 h1:5Jf6imeFZlZtKv9Qbo6qt2ZkmWtdWx/wzcCbNUlAWGM=
438+
go.opentelemetry.io/otel/sdk v1.20.0/go.mod h1:rmkSx1cZCm/tn16iWDn1GQbLtsW/LvsdEEFzCSRM6V0=
427439
go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc=
428440
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
441+
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
442+
go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
429443
go.starlark.net v0.0.0-20231121155337-90ade8b19d09 h1:hzy3LFnSN8kuQK8h9tHl4ndF6UruMj47OqwqsS+/Ai4=
430444
go.starlark.net v0.0.0-20231121155337-90ade8b19d09/go.mod h1:LcLNIzVOMp4oV+uusnpk+VU+SzXaJakUuBjoCSWH5dM=
431445
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
@@ -519,6 +533,7 @@ gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuB
519533
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
520534
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
521535
google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 h1:YJ5pD9rF8o9Qtta0Cmy9rdBwkSjrTCT6XTiUQVOtIos=
536+
google.golang.org/genproto v0.0.0-20231212172506-995d672761c0/go.mod h1:l/k7rMz0vFTBPy+tFSGvXEd3z+BcoG1k7EHbqm+YBsY=
522537
google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 h1:W18sezcAYs+3tDZX4F80yctqa12jcP1PUS2gQu1zTPU=
523538
google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0=
524539
google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 h1:6G8oQ016D88m1xAKljMlBOOGWDZkes4kMhgGFlf8WcQ=
@@ -576,6 +591,8 @@ k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCf
576591
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
577592
oras.land/oras-go v1.2.4 h1:djpBY2/2Cs1PV87GSJlxv4voajVOMZxqqtq9AB8YNvY=
578593
oras.land/oras-go v1.2.4/go.mod h1:DYcGfb3YF1nKjcezfX2SNlDAeQFKSXmf+qrFmrh4324=
594+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2SGwkQasmbeqDo8th5wOBA5h/AjTKA4I=
595+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
579596
sigs.k8s.io/cluster-api v1.6.2 h1:ruUi4q/9jXFuI+hmnDjo9izHgrBk4bjfQXLKx678PQE=
580597
sigs.k8s.io/cluster-api v1.6.2/go.mod h1:Anm4cA6R/AIP6KdIuVje8CdFc/TdGl+382bi5oPawRc=
581598
sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0=

0 commit comments

Comments
 (0)