Skip to content
This repository was archived by the owner on Mar 3, 2025. It is now read-only.

Commit aa178c3

Browse files
Replace kube-rbac-proxy with controller-runtime metrics authentication/authorization (#460)
This commit removes the use of the kube-rbac-proxy image and replaces it with metrics authentication/authorization provided by controller-runtime. The kube-rbac-proxy image is deprecated and will no longer be maintained, which introduces risks to production environments. For more details, see: kubernetes-sigs/kubebuilder#3907
1 parent 7ae59a4 commit aa178c3

File tree

9 files changed

+88
-51
lines changed

9 files changed

+88
-51
lines changed

cmd/manager/main.go

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import (
4848
"sigs.k8s.io/controller-runtime/pkg/client"
4949
"sigs.k8s.io/controller-runtime/pkg/healthz"
5050
"sigs.k8s.io/controller-runtime/pkg/metrics"
51+
"sigs.k8s.io/controller-runtime/pkg/metrics/filters"
5152
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
5253
crwebhook "sigs.k8s.io/controller-runtime/pkg/webhook"
5354

@@ -98,7 +99,7 @@ func main() {
9899
caCertDir string
99100
globalPullSecret string
100101
)
101-
flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.")
102+
flag.StringVar(&metricsAddr, "metrics-bind-address", "", "The address for the metrics endpoint. Requires tls-cert and tls-key. (Default: ':7443')")
102103
flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
103104
flag.StringVar(&pprofAddr, "pprof-bind-address", "0", "The address the pprof endpoint binds to. an empty string or 0 disables pprof")
104105
flag.BoolVar(&enableLeaderElection, "leader-elect", false,
@@ -110,8 +111,8 @@ func main() {
110111
flag.StringVar(&cacheDir, "cache-dir", "/var/cache/", "The directory in the filesystem that catalogd will use for file based caching")
111112
flag.BoolVar(&catalogdVersion, "version", false, "print the catalogd version and exit")
112113
flag.DurationVar(&gcInterval, "gc-interval", 12*time.Hour, "interval in which garbage collection should be run against the catalog content cache")
113-
flag.StringVar(&certFile, "tls-cert", "", "The certificate file used for serving catalog contents over HTTPS. Requires tls-key.")
114-
flag.StringVar(&keyFile, "tls-key", "", "The key file used for serving catalog contents over HTTPS. Requires tls-cert.")
114+
flag.StringVar(&certFile, "tls-cert", "", "The certificate file used for serving catalog and metrics. Required to enable the metrics server. Requires tls-key.")
115+
flag.StringVar(&keyFile, "tls-key", "", "The key file used for serving catalog contents and metrics. Required to enable the metrics server. Requires tls-cert.")
115116
flag.IntVar(&webhookPort, "webhook-server-port", 9443, "The port that the mutating webhook server serves at.")
116117
flag.StringVar(&caCertDir, "ca-certs-dir", "", "The directory of CA certificate to use for verifying HTTPS connections to image registries.")
117118
flag.StringVar(&globalPullSecret, "global-pull-secret", "", "The <namespace>/<name> of the global pull secret that is going to be used to pull bundle images.")
@@ -146,6 +147,15 @@ func main() {
146147
os.Exit(1)
147148
}
148149

150+
if metricsAddr != "" && certFile == "" && keyFile == "" {
151+
setupLog.Error(nil, "metrics-bind-address requires tls-cert and tls-key flags to be set")
152+
os.Exit(1)
153+
}
154+
155+
if certFile != "" && keyFile != "" && metricsAddr == "" {
156+
metricsAddr = ":7443"
157+
}
158+
149159
protocol := "http://"
150160
if certFile != "" && keyFile != "" {
151161
protocol = "https://"
@@ -161,7 +171,8 @@ func main() {
161171

162172
tlsOpts := func(config *tls.Config) {
163173
config.GetCertificate = cw.GetCertificate
164-
// Ensure HTTP/2 is disabled by default for webhooks. Disabling HTTP/2 mitigates vulnerabilities associated with:
174+
// Ensure HTTP/2 is disabled by default for webhooks and metrics.
175+
// Disabling HTTP/2 mitigates vulnerabilities associated with:
165176
// - HTTP/2 Stream Cancellation (GHSA-qppj-fm5r-hxr3)
166177
// - HTTP/2 Rapid Reset (GHSA-4374-p667-p6c8)
167178
// While CVE fixes exist, they remain insufficient; disabling HTTP/2 helps reduce risks.
@@ -177,6 +188,25 @@ func main() {
177188
},
178189
})
179190

191+
metricsServerOptions := metricsserver.Options{}
192+
if len(certFile) > 0 && len(keyFile) > 0 {
193+
setupLog.Info("Starting metrics server with TLS enabled", "addr", metricsAddr, "tls-cert", certFile, "tls-key", keyFile)
194+
195+
metricsServerOptions.BindAddress = metricsAddr
196+
metricsServerOptions.SecureServing = true
197+
metricsServerOptions.FilterProvider = filters.WithAuthenticationAndAuthorization
198+
199+
metricsServerOptions.TLSOpts = append(metricsServerOptions.TLSOpts, tlsOpts)
200+
} else {
201+
// Note that the metrics server is not serving if the BindAddress is set to "0".
202+
// Therefore, the metrics server is disabled by default. It is only enabled
203+
// if certFile and keyFile are provided. The intention is not allowing the metrics
204+
// be served with the default self-signed certificate generated by controller-runtime.
205+
metricsServerOptions.BindAddress = "0"
206+
setupLog.Info("WARNING: Metrics Server is disabled. " +
207+
"Metrics will not be served since the TLS certificate and key file are not provided.")
208+
}
209+
180210
cacheOptions := crcache.Options{
181211
ByObject: map[client.Object]crcache.ByObject{},
182212
}
@@ -195,10 +225,8 @@ func main() {
195225

196226
// Create manager
197227
mgr, err := ctrl.NewManager(cfg, ctrl.Options{
198-
Scheme: scheme,
199-
Metrics: metricsserver.Options{
200-
BindAddress: metricsAddr,
201-
},
228+
Scheme: scheme,
229+
Metrics: metricsServerOptions,
202230
PprofBindAddress: pprofAddr,
203231
HealthProbeBindAddress: probeAddr,
204232
LeaderElection: enableLeaderElection,

config/base/manager/manager.yaml

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -50,32 +50,11 @@ spec:
5050
seccompProfile:
5151
type: RuntimeDefault
5252
containers:
53-
- name: kube-rbac-proxy
54-
securityContext:
55-
allowPrivilegeEscalation: false
56-
capabilities:
57-
drop:
58-
- ALL
59-
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0
60-
args:
61-
- --secure-listen-address=0.0.0.0:7443
62-
- --http2-disable
63-
- --upstream=http://127.0.0.1:8080/
64-
- --logtostderr=true
65-
ports:
66-
- containerPort: 7443
67-
protocol: TCP
68-
name: https
69-
resources:
70-
requests:
71-
cpu: 5m
72-
memory: 64Mi
73-
terminationMessagePolicy: FallbackToLogsOnError
7453
- command:
7554
- ./manager
7655
args:
7756
- --leader-elect
78-
- --metrics-bind-address=127.0.0.1:8080
57+
- --metrics-bind-address=:7443
7958
- --external-address=catalogd-service.olmv1-system.svc
8059
image: controller:latest
8160
name: manager

config/base/rbac/kustomization.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ resources:
99
- role_binding.yaml
1010
- leader_election_role.yaml
1111
- leader_election_role_binding.yaml
12-
# Comment the following 3 lines if you want to disable
13-
# the auth proxy (https://github.com/brancz/kube-rbac-proxy)
14-
# which protects your /metrics endpoint.
12+
# The following RBAC configurations are used to protect
13+
# the metrics endpoint with authn/authz. These configurations
14+
# ensure that only authorized users and service accounts
15+
# can access the metrics endpoint. Comment the following
16+
# permissions if you want to disable this protection.
17+
# More info: https://book.kubebuilder.io/reference/metrics.html
1518
- auth_proxy_role.yaml
1619
- auth_proxy_role_binding.yaml
1720
- auth_proxy_client_clusterrole.yaml

config/components/ca/patches/manager_deployment_cacerts.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
path: /spec/template/spec/volumes/-
33
value: {"name":"olmv1-certificate", "secret":{"secretName":"catalogd-service-cert-git-version", "optional": false, "items": [{"key": "ca.crt", "path": "olm-ca.crt"}]}}
44
- op: add
5-
path: /spec/template/spec/containers/1/volumeMounts/-
5+
path: /spec/template/spec/containers/0/volumeMounts/-
66
value: {"name":"olmv1-certificate", "readOnly": true, "mountPath":"/var/ca-certs/"}
77
- op: add
8-
path: /spec/template/spec/containers/1/args/-
8+
path: /spec/template/spec/containers/0/args/-
99
value: "--ca-certs-dir=/var/ca-certs"

config/components/registries-conf/manager_e2e_registries_conf_patch.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ spec:
77
template:
88
spec:
99
containers:
10-
- name: kube-rbac-proxy
1110
- name: manager
1211
volumeMounts:
1312
- name: e2e-registries-conf

config/components/tls/patches/manager_deployment_certs.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
path: /spec/template/spec/volumes/-
33
value: {"name":"catalogserver-certs", "secret":{"secretName":"catalogd-service-cert-git-version"}}
44
- op: add
5-
path: /spec/template/spec/containers/1/volumeMounts/-
5+
path: /spec/template/spec/containers/0/volumeMounts/-
66
value: {"name":"catalogserver-certs", "mountPath":"/var/certs"}
77
- op: add
8-
path: /spec/template/spec/containers/1/args/-
8+
path: /spec/template/spec/containers/0/args/-
99
value: "--tls-cert=/var/certs/tls.crt"
1010
- op: add
11-
path: /spec/template/spec/containers/1/args/-
11+
path: /spec/template/spec/containers/0/args/-
1212
value: "--tls-key=/var/certs/tls.key"

go.mod

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ require (
3838
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
3939
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
4040
github.com/beorn7/perks v1.0.1 // indirect
41+
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
4142
github.com/cespare/xxhash/v2 v2.3.0 // indirect
4243
github.com/containerd/cgroups/v3 v3.0.3 // indirect
4344
github.com/containerd/continuity v0.4.2 // indirect
@@ -59,12 +60,14 @@ require (
5960
github.com/emicklei/go-restful/v3 v3.11.2 // indirect
6061
github.com/evanphx/json-patch v5.7.0+incompatible // indirect
6162
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
63+
github.com/felixge/httpsnoop v1.0.4 // indirect
6264
github.com/fsnotify/fsnotify v1.7.0 // indirect
6365
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
6466
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
6567
github.com/go-git/go-billy/v5 v5.5.0 // indirect
6668
github.com/go-git/go-git/v5 v5.12.0 // indirect
6769
github.com/go-jose/go-jose/v4 v4.0.2 // indirect
70+
github.com/go-logr/stdr v1.2.2 // indirect
6871
github.com/go-openapi/analysis v0.23.0 // indirect
6972
github.com/go-openapi/errors v0.22.0 // indirect
7073
github.com/go-openapi/jsonpointer v0.21.0 // indirect
@@ -85,6 +88,7 @@ require (
8588
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
8689
github.com/google/uuid v1.6.0 // indirect
8790
github.com/gorilla/mux v1.8.1 // indirect
91+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
8892
github.com/h2non/filetype v1.1.3 // indirect
8993
github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c // indirect
9094
github.com/imdario/mergo v0.3.16 // indirect
@@ -136,6 +140,14 @@ require (
136140
go.mongodb.org/mongo-driver v1.14.0 // indirect
137141
go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 // indirect
138142
go.opencensus.io v0.24.0 // indirect
143+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
144+
go.opentelemetry.io/otel v1.29.0 // indirect
145+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 // indirect
146+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
147+
go.opentelemetry.io/otel/metric v1.29.0 // indirect
148+
go.opentelemetry.io/otel/sdk v1.29.0 // indirect
149+
go.opentelemetry.io/otel/trace v1.29.0 // indirect
150+
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
139151
golang.org/x/crypto v0.31.0 // indirect
140152
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
141153
golang.org/x/net v0.30.0 // indirect
@@ -157,6 +169,7 @@ require (
157169
gopkg.in/yaml.v2 v2.4.0 // indirect
158170
gopkg.in/yaml.v3 v3.0.1 // indirect
159171
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
172+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 // indirect
160173
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
161174
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
162175
)

go.sum

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
2020
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
2121
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
2222
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
23+
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
24+
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
2325
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
2426
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
2527
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
@@ -78,6 +80,8 @@ github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ
7880
github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
7981
github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg=
8082
github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ=
83+
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
84+
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
8185
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
8286
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
8387
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
@@ -90,8 +94,11 @@ github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZt
9094
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY=
9195
github.com/go-jose/go-jose/v4 v4.0.2 h1:R3l3kkBds16bO7ZFAEEcofK0MkrAJt3jlJznWZG0nvk=
9296
github.com/go-jose/go-jose/v4 v4.0.2/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY=
97+
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
9398
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
9499
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
100+
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
101+
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
95102
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
96103
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
97104
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
@@ -161,6 +168,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
161168
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
162169
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
163170
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
171+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0=
172+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k=
164173
github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg=
165174
github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
166175
github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c h1:fEE5/5VNnYUoBOj2I9TP8Jc+a7lge3QWn9DKE7NCwfc=
@@ -312,6 +321,22 @@ go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 h1:CCriYyAfq1Br1aIYettdH
312321
go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk=
313322
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
314323
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
324+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
325+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
326+
go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw=
327+
go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8=
328+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0 h1:dIIDULZJpgdiHz5tXrTgKIMLkus6jEFa7x5SOKcyR7E=
329+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.29.0/go.mod h1:jlRVBe7+Z1wyxFSUs48L6OBQZ5JwH2Hg/Vbl+t9rAgI=
330+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA=
331+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ=
332+
go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc=
333+
go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8=
334+
go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo=
335+
go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok=
336+
go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4=
337+
go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
338+
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
339+
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
315340
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
316341
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
317342
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
@@ -450,6 +475,8 @@ k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7F
450475
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
451476
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
452477
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
478+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 h1:2770sDpzrjjsAtVhSeUFseziht227YAWYHLGNM8QPwY=
479+
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw=
453480
sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q=
454481
sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
455482
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=

internal/storage/localdir_test.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -309,10 +309,6 @@ const testCompressableJSON = `{
309309
}
310310
],
311311
"relatedImages": [
312-
{
313-
"name": "",
314-
"image": "gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0"
315-
},
316312
{
317313
"name": "",
318314
"image": "quay.io/helmoperators/cockroachdb:v5.0.3"
@@ -346,10 +342,6 @@ const testCompressableJSON = `{
346342
}
347343
],
348344
"relatedImages": [
349-
{
350-
"name": "",
351-
"image": "gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0"
352-
},
353345
{
354346
"name": "",
355347
"image": "quay.io/helmoperators/cockroachdb:v5.0.4"
@@ -383,10 +375,6 @@ const testCompressableJSON = `{
383375
}
384376
],
385377
"relatedImages": [
386-
{
387-
"name": "",
388-
"image": "gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0"
389-
},
390378
{
391379
"name": "",
392380
"image": "quay.io/cockroachdb/cockroach-helm-operator:6.0.0"

0 commit comments

Comments
 (0)