Skip to content

Commit 0b57de8

Browse files
committed
Merge branch 'main' into follow-up-ls-attachment
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
2 parents 6e8cf34 + b710dd4 commit 0b57de8

190 files changed

Lines changed: 17242 additions & 541 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build_and_test.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,10 @@ jobs:
186186
ipFamily: ipv4
187187
profile: watch-namespaces
188188
gwapiChannel: experimental
189+
- version: v1.36.1
190+
ipFamily: ipv4
191+
profile: merge-backends
192+
gwapiChannel: experimental
189193
steps:
190194
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
191195
- uses: ./tools/github-actions/setup-deps

api/v1alpha1/envoyproxy_types.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ type EnvoyProxy struct {
3535
}
3636

3737
// EnvoyProxySpec defines the desired state of EnvoyProxy.
38+
// +kubebuilder:validation:XValidation:message="mergeGateways and mergeBackends cannot both be enabled",rule="!(has(self.mergeGateways) && self.mergeGateways && has(self.mergeBackends))"
3839
type EnvoyProxySpec struct {
3940
// Provider defines the desired resource provider and provider-specific configuration.
4041
// If unspecified, the "Kubernetes" resource provider is used with default configuration
@@ -89,9 +90,22 @@ type EnvoyProxySpec struct {
8990
// This means that the port, protocol and hostname tuple must be unique for every listener.
9091
// If a duplicate listener is detected, the newer listener (based on timestamp) will be rejected and its status will be updated with a "Accepted=False" condition.
9192
//
93+
// Mutually exclusive with MergeBackends.
94+
//
9295
// +optional
9396
MergeGateways *bool `json:"mergeGateways,omitempty"`
9497

98+
// MergeBackends configures cluster deduplication: routes that reference the same backend
99+
// share a single Envoy cluster instead of Envoy Gateway generating one cluster per route
100+
// rule. This reduces xDS size, active health-check traffic, and stats cardinality, and
101+
// improves upstream connection pooling.
102+
//
103+
// Disabled when unset; specifying this field at all (even without further configuration)
104+
// enables it. Mutually exclusive with MergeGateways.
105+
//
106+
// +optional
107+
MergeBackends *MergeBackendsConfig `json:"mergeBackends,omitempty"`
108+
95109
// Shutdown defines configuration for graceful envoy shutdown process.
96110
//
97111
// +optional
@@ -218,6 +232,11 @@ type EnvoyProxySpec struct {
218232
MergeType *MergeType `json:"mergeType,omitempty"`
219233
}
220234

235+
// MergeBackendsConfig configures backend cluster deduplication (MergeBackends). Its mere
236+
// presence on EnvoyProxySpec enables it; a backendRef is only merged into a shared cluster when
237+
// safe to do so, otherwise it falls back to a dedicated per-route cluster.
238+
type MergeBackendsConfig struct{}
239+
221240
// EnvoyProxyGeoIP defines shared GeoIP provider settings for EnvoyProxy.
222241
type EnvoyProxyGeoIP struct {
223242
// Provider defines the GeoIP provider configuration used by GeoIP filter instances.

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/gateway-crds-helm/templates/generated/gateway.envoyproxy.io_envoyproxies.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,12 +778,24 @@ spec:
778778
- InsecureSyntax
779779
- Disabled
780780
type: string
781+
mergeBackends:
782+
description: |-
783+
MergeBackends configures cluster deduplication: routes that reference the same backend
784+
share a single Envoy cluster instead of Envoy Gateway generating one cluster per route
785+
rule. This reduces xDS size, active health-check traffic, and stats cardinality, and
786+
improves upstream connection pooling.
787+
788+
Disabled when unset; specifying this field at all (even without further configuration)
789+
enables it. Mutually exclusive with MergeGateways.
790+
type: object
781791
mergeGateways:
782792
description: |-
783793
MergeGateways defines if Gateway resources should be merged onto the same Envoy Proxy Infrastructure.
784794
Setting this field to true would merge all Gateway Listeners under the parent Gateway Class.
785795
This means that the port, protocol and hostname tuple must be unique for every listener.
786796
If a duplicate listener is detected, the newer listener (based on timestamp) will be rejected and its status will be updated with a "Accepted=False" condition.
797+
798+
Mutually exclusive with MergeBackends.
787799
type: boolean
788800
mergeType:
789801
description: |-
@@ -18238,6 +18250,9 @@ spec:
1823818250
rule: '!(has(self.samplingRate) && has(self.samplingFraction))'
1823918251
type: object
1824018252
type: object
18253+
x-kubernetes-validations:
18254+
- message: mergeGateways and mergeBackends cannot both be enabled
18255+
rule: '!(has(self.mergeGateways) && self.mergeGateways && has(self.mergeBackends))'
1824118256
status:
1824218257
description: EnvoyProxyStatus defines the actual state of EnvoyProxy.
1824318258
properties:

charts/gateway-helm/charts/crds/crds/generated/gateway.envoyproxy.io_envoyproxies.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -777,12 +777,24 @@ spec:
777777
- InsecureSyntax
778778
- Disabled
779779
type: string
780+
mergeBackends:
781+
description: |-
782+
MergeBackends configures cluster deduplication: routes that reference the same backend
783+
share a single Envoy cluster instead of Envoy Gateway generating one cluster per route
784+
rule. This reduces xDS size, active health-check traffic, and stats cardinality, and
785+
improves upstream connection pooling.
786+
787+
Disabled when unset; specifying this field at all (even without further configuration)
788+
enables it. Mutually exclusive with MergeGateways.
789+
type: object
780790
mergeGateways:
781791
description: |-
782792
MergeGateways defines if Gateway resources should be merged onto the same Envoy Proxy Infrastructure.
783793
Setting this field to true would merge all Gateway Listeners under the parent Gateway Class.
784794
This means that the port, protocol and hostname tuple must be unique for every listener.
785795
If a duplicate listener is detected, the newer listener (based on timestamp) will be rejected and its status will be updated with a "Accepted=False" condition.
796+
797+
Mutually exclusive with MergeBackends.
786798
type: boolean
787799
mergeType:
788800
description: |-
@@ -18237,6 +18249,9 @@ spec:
1823718249
rule: '!(has(self.samplingRate) && has(self.samplingFraction))'
1823818250
type: object
1823918251
type: object
18252+
x-kubernetes-validations:
18253+
- message: mergeGateways and mergeBackends cannot both be enabled
18254+
rule: '!(has(self.mergeGateways) && self.mergeGateways && has(self.mergeBackends))'
1824018255
status:
1824118256
description: EnvoyProxyStatus defines the actual state of EnvoyProxy.
1824218257
properties:

examples/extension-server/go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/urfave/cli/v2 v2.27.7
1010
google.golang.org/grpc v1.82.1
1111
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af
12-
k8s.io/apimachinery v0.36.2
12+
k8s.io/apimachinery v0.36.3
1313
sigs.k8s.io/controller-runtime v0.24.1
1414
sigs.k8s.io/gateway-api v1.6.1
1515
sigs.k8s.io/gateway-api-inference-extension v1.5.0
@@ -64,9 +64,9 @@ require (
6464
gopkg.in/inf.v0 v0.9.1 // indirect
6565
gopkg.in/yaml.v2 v2.4.0 // indirect
6666
gopkg.in/yaml.v3 v3.0.1 // indirect
67-
k8s.io/api v0.36.2 // indirect
68-
k8s.io/apiextensions-apiserver v0.36.2 // indirect
69-
k8s.io/code-generator v0.36.2 // indirect
67+
k8s.io/api v0.36.3 // indirect
68+
k8s.io/apiextensions-apiserver v0.36.3 // indirect
69+
k8s.io/code-generator v0.36.3 // indirect
7070
k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b // indirect
7171
k8s.io/klog/v2 v2.140.0 // indirect
7272
k8s.io/kube-openapi v0.0.0-20260706235625-cdb1db5517a0 // indirect

examples/extension-server/go.sum

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -229,20 +229,20 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
229229
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
230230
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
231231
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
232-
k8s.io/api v0.36.2 h1:TF6YDLIzKfccK7cq9YpTcGX8TJmEkHVRv78DM51fRYY=
233-
k8s.io/api v0.36.2/go.mod h1:F4LbMO4brjZYh7yFkXWhynSvtB7YauxV4c+HHkNRGNg=
234-
k8s.io/apiextensions-apiserver v0.36.2 h1:3O5gqOj/dt2XWWbpMe+TXWpE9yU6pjM/tXxtHHJT/K4=
235-
k8s.io/apiextensions-apiserver v0.36.2/go.mod h1:cL1tBWe8XSaP1H30iWKGo7hf6iAUUUJPEU70dskmAnA=
236-
k8s.io/apimachinery v0.36.2 h1:0PE/W/WNy1UX61NLbXY5TMbJ6UwLL6E6lAPkYrKFxbQ=
237-
k8s.io/apimachinery v0.36.2/go.mod h1:fvf/HOLXq9RId0rnDIbN1OEBvHXdQbLMM8nu0LcBUf4=
238-
k8s.io/apiserver v0.36.2 h1:6vMnkmHZPeBloNkHUhmZYq7Ylv8WIB8xjyEl+eSt26E=
239-
k8s.io/apiserver v0.36.2/go.mod h1:9PoQ2ikCytrZyZg11mGhLEF5m8Rgsb5FJmYJ4Wvnl1k=
240-
k8s.io/client-go v0.36.2 h1:bfgxmFKc9CgqsgX4xKLAAdmTQlWee7Ob/HlDOrJ5TBI=
241-
k8s.io/client-go v0.36.2/go.mod h1:1vgO4OAlfPnoLcb+Rze2GF5rAr14w8qjrYMoyXJzQj0=
242-
k8s.io/code-generator v0.36.2 h1:iBNFYhClojQaVrF99Z3iTAad7LztQh3yCtwR8L8Ocpg=
243-
k8s.io/code-generator v0.36.2/go.mod h1:IfnsRW1IAq9iPxqs/FfOnVnWWONxS2mPDvWNR4fPlzI=
244-
k8s.io/component-base v0.36.2 h1:Z0VH80O7Ng0HDZnZj3WRR3urEGa0kTwmO8CwEwjVK1w=
245-
k8s.io/component-base v0.36.2/go.mod h1:mGfFOA7Gwpdm1VW2cwSQYbiDIlz8GD2WGwH88QSeCyA=
232+
k8s.io/api v0.36.3 h1:NxB+05W2UGqXWFXcLO0RB5cnqnUPP5v5sVlaOH0Iz4w=
233+
k8s.io/api v0.36.3/go.mod h1:JzLQKqRHC5+I8RVj/lS3lCg0mg6nWI9Fo/Sk3ElxHzg=
234+
k8s.io/apiextensions-apiserver v0.36.3 h1:dPmOAPhwTtqb1bTxbFPsy18KHPhktQeO3WUPXunZIB0=
235+
k8s.io/apiextensions-apiserver v0.36.3/go.mod h1:KTXFqgXiuw2pRoL+Wpmttqc+up9Xt/GohadPWeLLOa4=
236+
k8s.io/apimachinery v0.36.3 h1:PkzMRBRG8joFD8EhCuQAtNPvJlxb82FwplP26HIzvAM=
237+
k8s.io/apimachinery v0.36.3/go.mod h1:cTSjBWgPe/6CQyBKzY/hDIRWCQQQeK0mfLbml0UYFHE=
238+
k8s.io/apiserver v0.36.3 h1:MGSg2SkdfuytiDEcRylT5mQFmmSsbx90XFUO67Y4bsQ=
239+
k8s.io/apiserver v0.36.3/go.mod h1:fVH7zv9EUNUA7Fl7LtDKh8aB9W7u1VQPSGtWV5SjUxg=
240+
k8s.io/client-go v0.36.3 h1:M4JdVzXxYcZk4fGpfDdYnxSwhLKWCFoQsHW6t+z8Hfg=
241+
k8s.io/client-go v0.36.3/go.mod h1:gcPwr0c87vjjG6HB6pWEqOeuYVoXSsREjzux2j6GF30=
242+
k8s.io/code-generator v0.36.3 h1:tsiHI6NepXQncnexlTAf52w5VxZ4HYDU4ZqCNLFb9tA=
243+
k8s.io/code-generator v0.36.3/go.mod h1:Unn13Mp8X+H803jgZi4f4ExxK11aj0llXcSsl++UTkE=
244+
k8s.io/component-base v0.36.3 h1:vc/UFvPCkW0irPz84LAodAL1j3f4xktPM6dDJIEheAY=
245+
k8s.io/component-base v0.36.3/go.mod h1:hZbNFG+gCMl9EbykDGEu73feKP9/Cq6JsV4pTo9GTO8=
246246
k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b h1:gMplByicHV/TJBizHd9aVEsTYoJBnnUAT5MHlTkbjhQ=
247247
k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b/go.mod h1:CgujABENc3KuTrcsdpGmrrASjtQsWCT7R99mEV4U/fM=
248248
k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=

go.mod

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ require (
6363
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af
6464
gopkg.in/yaml.v3 v3.0.1
6565
helm.sh/helm/v3 v3.21.3
66-
k8s.io/api v0.36.2
67-
k8s.io/apiextensions-apiserver v0.36.2
68-
k8s.io/apimachinery v0.36.2
69-
k8s.io/apiserver v0.36.2
70-
k8s.io/cli-runtime v0.36.2
71-
k8s.io/client-go v0.36.2
66+
k8s.io/api v0.36.3
67+
k8s.io/apiextensions-apiserver v0.36.3
68+
k8s.io/apimachinery v0.36.3
69+
k8s.io/apiserver v0.36.3
70+
k8s.io/cli-runtime v0.36.3
71+
k8s.io/client-go v0.36.3
7272
k8s.io/klog/v2 v2.140.0
7373
k8s.io/kube-openapi v0.0.0-20260706235625-cdb1db5517a0
74-
k8s.io/kubectl v0.36.2
74+
k8s.io/kubectl v0.36.3
7575
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3
7676
sigs.k8s.io/controller-runtime v0.24.1
7777
sigs.k8s.io/gateway-api v1.6.1
@@ -271,9 +271,9 @@ require (
271271
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
272272
gopkg.in/inf.v0 v0.9.1 // indirect
273273
gopkg.in/yaml.v2 v2.4.0 // indirect
274-
k8s.io/component-base v0.36.2 // indirect
275-
k8s.io/metrics v0.36.2 // indirect
276-
k8s.io/streaming v0.36.2 // indirect
274+
k8s.io/component-base v0.36.3 // indirect
275+
k8s.io/metrics v0.36.3 // indirect
276+
k8s.io/streaming v0.36.3 // indirect
277277
oras.land/oras-go/v2 v2.6.1 // indirect
278278
periph.io/x/host/v3 v3.8.5 // indirect
279279
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 // indirect

go.sum

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -773,32 +773,32 @@ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
773773
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
774774
helm.sh/helm/v3 v3.21.3 h1:wkamdwI3liEkW6wI1l9aGqQZGxcTKyt8kx0qJLPcmCg=
775775
helm.sh/helm/v3 v3.21.3/go.mod h1:iaJ0iNsPoTZl++7h6vzQFyT0VEVtLYJiyRBDkPOOBTs=
776-
k8s.io/api v0.36.2 h1:TF6YDLIzKfccK7cq9YpTcGX8TJmEkHVRv78DM51fRYY=
777-
k8s.io/api v0.36.2/go.mod h1:F4LbMO4brjZYh7yFkXWhynSvtB7YauxV4c+HHkNRGNg=
778-
k8s.io/apiextensions-apiserver v0.36.2 h1:3O5gqOj/dt2XWWbpMe+TXWpE9yU6pjM/tXxtHHJT/K4=
779-
k8s.io/apiextensions-apiserver v0.36.2/go.mod h1:cL1tBWe8XSaP1H30iWKGo7hf6iAUUUJPEU70dskmAnA=
780-
k8s.io/apimachinery v0.36.2 h1:0PE/W/WNy1UX61NLbXY5TMbJ6UwLL6E6lAPkYrKFxbQ=
781-
k8s.io/apimachinery v0.36.2/go.mod h1:fvf/HOLXq9RId0rnDIbN1OEBvHXdQbLMM8nu0LcBUf4=
782-
k8s.io/apiserver v0.36.2 h1:6vMnkmHZPeBloNkHUhmZYq7Ylv8WIB8xjyEl+eSt26E=
783-
k8s.io/apiserver v0.36.2/go.mod h1:9PoQ2ikCytrZyZg11mGhLEF5m8Rgsb5FJmYJ4Wvnl1k=
784-
k8s.io/cli-runtime v0.36.2 h1:CconTvEeV4DJs4ZX3HQKCFbFRGsm6OtuBM9yjmMP2VM=
785-
k8s.io/cli-runtime v0.36.2/go.mod h1:LddcjiMf4YlnHO7c1Y7rEtDqL84FyiYVLco7V679GUU=
786-
k8s.io/client-go v0.36.2 h1:bfgxmFKc9CgqsgX4xKLAAdmTQlWee7Ob/HlDOrJ5TBI=
787-
k8s.io/client-go v0.36.2/go.mod h1:1vgO4OAlfPnoLcb+Rze2GF5rAr14w8qjrYMoyXJzQj0=
788-
k8s.io/component-base v0.36.2 h1:Z0VH80O7Ng0HDZnZj3WRR3urEGa0kTwmO8CwEwjVK1w=
789-
k8s.io/component-base v0.36.2/go.mod h1:mGfFOA7Gwpdm1VW2cwSQYbiDIlz8GD2WGwH88QSeCyA=
776+
k8s.io/api v0.36.3 h1:NxB+05W2UGqXWFXcLO0RB5cnqnUPP5v5sVlaOH0Iz4w=
777+
k8s.io/api v0.36.3/go.mod h1:JzLQKqRHC5+I8RVj/lS3lCg0mg6nWI9Fo/Sk3ElxHzg=
778+
k8s.io/apiextensions-apiserver v0.36.3 h1:dPmOAPhwTtqb1bTxbFPsy18KHPhktQeO3WUPXunZIB0=
779+
k8s.io/apiextensions-apiserver v0.36.3/go.mod h1:KTXFqgXiuw2pRoL+Wpmttqc+up9Xt/GohadPWeLLOa4=
780+
k8s.io/apimachinery v0.36.3 h1:PkzMRBRG8joFD8EhCuQAtNPvJlxb82FwplP26HIzvAM=
781+
k8s.io/apimachinery v0.36.3/go.mod h1:cTSjBWgPe/6CQyBKzY/hDIRWCQQQeK0mfLbml0UYFHE=
782+
k8s.io/apiserver v0.36.3 h1:MGSg2SkdfuytiDEcRylT5mQFmmSsbx90XFUO67Y4bsQ=
783+
k8s.io/apiserver v0.36.3/go.mod h1:fVH7zv9EUNUA7Fl7LtDKh8aB9W7u1VQPSGtWV5SjUxg=
784+
k8s.io/cli-runtime v0.36.3 h1:g+eJ+M1sYpnNYp/q5fzaw2KejIL0Q7DH+xFl6YVoL4U=
785+
k8s.io/cli-runtime v0.36.3/go.mod h1:hZpAqK8nSFXvvLaVCbzUPVp8e9TRLSTCfpNzMt7s3tE=
786+
k8s.io/client-go v0.36.3 h1:M4JdVzXxYcZk4fGpfDdYnxSwhLKWCFoQsHW6t+z8Hfg=
787+
k8s.io/client-go v0.36.3/go.mod h1:gcPwr0c87vjjG6HB6pWEqOeuYVoXSsREjzux2j6GF30=
788+
k8s.io/component-base v0.36.3 h1:vc/UFvPCkW0irPz84LAodAL1j3f4xktPM6dDJIEheAY=
789+
k8s.io/component-base v0.36.3/go.mod h1:hZbNFG+gCMl9EbykDGEu73feKP9/Cq6JsV4pTo9GTO8=
790790
k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
791791
k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
792-
k8s.io/kms v0.36.2 h1:o0l8zMRecm38k5NyRnO/3+2YA/MR6TMGcc3KQZA76hI=
793-
k8s.io/kms v0.36.2/go.mod h1:g91diTD9h0oJCCHkTb00krlF+Qm5HTnkWLi9Q/TpRoc=
792+
k8s.io/kms v0.36.3 h1:uHY7Vfec0IhuTWjO6u/u/6hE1DcZmCB7Xm/6+GQxkNs=
793+
k8s.io/kms v0.36.3/go.mod h1:g91diTD9h0oJCCHkTb00krlF+Qm5HTnkWLi9Q/TpRoc=
794794
k8s.io/kube-openapi v0.0.0-20260706235625-cdb1db5517a0 h1:CVjOUCTXINUThEmDs25FNSna0+vnGSoTleN+wiJu6hE=
795795
k8s.io/kube-openapi v0.0.0-20260706235625-cdb1db5517a0/go.mod h1:rcZ+P5cEvHQB+m154WBOatIGBgOEPjzmLkXjkHfg3ms=
796-
k8s.io/kubectl v0.36.2 h1:rpUGGpeL09XVOLep2yle5jrtk//JA1L6ZHfkQQtVEwk=
797-
k8s.io/kubectl v0.36.2/go.mod h1:gVbQ3B/yb4bSR2ggQ7rd0W6icUSWs7sduH4e16Vii+0=
798-
k8s.io/metrics v0.36.2 h1:yfUIe2Vwx2cQAIpVYcin1JXdabrRz98oTxP2HJTxHj8=
799-
k8s.io/metrics v0.36.2/go.mod h1:Q/dNyLLzgSxPu0/e+996Du4pjutfEyyHOKgK0lkncp0=
800-
k8s.io/streaming v0.36.2 h1:NSKthPPg9UFSKsRauVJUVGH2Dvn8fhKmY4qrMkw/p98=
801-
k8s.io/streaming v0.36.2/go.mod h1:z6fV3D+NVkoeqRMtWwlUZK6U17SY/LqNzOxWL6GyR/s=
796+
k8s.io/kubectl v0.36.3 h1:TesKp+XYQEjPYoFvuobcVnuvira2+/xAVlq//+kksaI=
797+
k8s.io/kubectl v0.36.3/go.mod h1:W+NEb1CzBGmoaI1Nrpn2ETo9omNBl0AsyxnnMT40N6E=
798+
k8s.io/metrics v0.36.3 h1:NDKceAgWS8CJCdDtM5kFACkBOa9Lxia1jUiibJfvUgQ=
799+
k8s.io/metrics v0.36.3/go.mod h1:NTLS8ybwn+zYGwKqYublWPvmnNp8N4pV3etjtx7XWaM=
800+
k8s.io/streaming v0.36.3 h1:9rAaqBk0C0Pc7+/fqGekj07NV+/Xrew58p647A0JT8w=
801+
k8s.io/streaming v0.36.3/go.mod h1:z6fV3D+NVkoeqRMtWwlUZK6U17SY/LqNzOxWL6GyR/s=
802802
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3 h1:jVkFFVfXdXP74B/zbO3hM3hpSFD0xvhQ5U686DPurkE=
803803
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3/go.mod h1:M2s5JB1lIYP3jzZdorPLHXIPJzt9vv2muW5a6L9DtNM=
804804
oras.land/oras-go/v2 v2.6.1 h1:bonOEkjLfp8tt6qXWRRWP6p1F+9octchOf2EqnWB4Zs=

0 commit comments

Comments
 (0)