Skip to content

Commit c28e20b

Browse files
authored
Merge branch 'main' into fix/proxy-context-map-race
2 parents 02aeb1a + fde8c8b commit c28e20b

File tree

22 files changed

+151
-157
lines changed

22 files changed

+151
-157
lines changed

api/v1alpha1/tls_types.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import (
99
gwapiv1 "sigs.k8s.io/gateway-api/apis/v1"
1010
)
1111

12+
// TLSOCSPKey is the key for the OCSP stapled response in a Secret.
13+
const TLSOCSPKey = "tls.ocsp-staple"
14+
1215
type ClientTLSSettings struct {
1316
// ClientValidation specifies the configuration to validate the client
1417
// initiating the TLS connection to the Gateway listener.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ require (
7878
k8s.io/client-go v0.34.1
7979
k8s.io/klog/v2 v2.130.1
8080
k8s.io/kube-openapi v0.0.0-20250814151709-d7b6acb124c3
81-
k8s.io/kubectl v0.34.0
81+
k8s.io/kubectl v0.34.1
8282
k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d
8383
sigs.k8s.io/controller-runtime v0.22.1
8484
sigs.k8s.io/gateway-api v1.3.1-0.20250527223622-54df0a899c1c

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -924,8 +924,8 @@ k8s.io/kms v0.34.1 h1:iCFOvewDPzWM9fMTfyIPO+4MeuZ0tcZbugxLNSHFG4w=
924924
k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM=
925925
k8s.io/kube-openapi v0.0.0-20250814151709-d7b6acb124c3 h1:liMHz39T5dJO1aOKHLvwaCjDbf07wVh6yaUlTpunnkE=
926926
k8s.io/kube-openapi v0.0.0-20250814151709-d7b6acb124c3/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts=
927-
k8s.io/kubectl v0.34.0 h1:NcXz4TPTaUwhiX4LU+6r6udrlm0NsVnSkP3R9t0dmxs=
928-
k8s.io/kubectl v0.34.0/go.mod h1:bmd0W5i+HuG7/p5sqicr0Li0rR2iIhXL0oUyLF3OjR4=
927+
k8s.io/kubectl v0.34.1 h1:1qP1oqT5Xc93K+H8J7ecpBjaz511gan89KO9Vbsh/OI=
928+
k8s.io/kubectl v0.34.1/go.mod h1:JRYlhJpGPyk3dEmJ+BuBiOB9/dAvnrALJEiY/C5qa6A=
929929
k8s.io/metrics v0.34.1 h1:374Rexmp1xxgRt64Bi0TsjAM8cA/Y8skwCoPdjtIslE=
930930
k8s.io/metrics v0.34.1/go.mod h1:Drf5kPfk2NJrlpcNdSiAAHn/7Y9KqxpRNagByM7Ei80=
931931
k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d h1:wAhiDyZ4Tdtt7e46e9M5ZSAJ/MnPGPs+Ki1gHw4w1R0=

internal/gatewayapi/helpers.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,11 +423,17 @@ func irTLSConfigs(tlsSecrets ...*corev1.Secret) *ir.TLSConfig {
423423
Certificates: make([]ir.TLSCertificate, len(tlsSecrets)),
424424
}
425425
for i, tlsSecret := range tlsSecrets {
426-
tlsListenerConfigs.Certificates[i] = ir.TLSCertificate{
426+
cert := ir.TLSCertificate{
427427
Name: irTLSListenerConfigName(tlsSecret),
428428
Certificate: tlsSecret.Data[corev1.TLSCertKey],
429429
PrivateKey: tlsSecret.Data[corev1.TLSPrivateKeyKey],
430430
}
431+
432+
ocspStaple, ok := tlsSecret.Data[egv1a1.TLSOCSPKey]
433+
if ok && len(ocspStaple) > 0 {
434+
cert.OCSPStaple = ocspStaple
435+
}
436+
tlsListenerConfigs.Certificates[i] = cert
431437
}
432438

433439
return tlsListenerConfigs

internal/gatewayapi/testdata/gateway-with-listener-with-valid-tls-configuration.in.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ secrets:
2727
data:
2828
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREVENDQWZXZ0F3SUJBZ0lVRUZNaFA5ZUo5WEFCV3NRNVptNmJSazJjTE5Rd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZqRVVNQklHQTFVRUF3d0xabTl2TG1KaGNpNWpiMjB3SGhjTk1qUXdNakk1TURrek1ERXdXaGNOTXpRdwpNakkyTURrek1ERXdXakFXTVJRd0VnWURWUVFEREF0bWIyOHVZbUZ5TG1OdmJUQ0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKbEk2WXhFOVprQ1BzNnBDUXhickNtZWl4OVA1RGZ4OVJ1NUxENFQKSm1kVzdJS2R0UVYvd2ZMbXRzdTc2QithVGRDaldlMEJUZmVPT1JCYlIzY1BBRzZFbFFMaWNsUVVydW4zcStncwpKcEsrSTdjSStqNXc4STY4WEg1V1E3clZVdGJ3SHBxYncrY1ZuQnFJVU9MaUlhdGpJZjdLWDUxTTF1RjljZkVICkU0RG5jSDZyYnI1OS9SRlpCc2toeHM1T3p3Sklmb2hreXZGd2V1VHd4Sy9WcGpJKzdPYzQ4QUJDWHBOTzlEL3EKRWgrck9hdWpBTWNYZ0hRSVRrQ2lpVVRjVW82TFNIOXZMWlB0YXFmem9acTZuaE1xcFc2NUUxcEF3RjNqeVRUeAphNUk4SmNmU0Zqa2llWjIwTFVRTW43TThVNHhIamFvL2d2SDBDQWZkQjdSTFUyc0NBd0VBQWFOVE1GRXdIUVlEClZSME9CQllFRk9SQ0U4dS8xRERXN2loWnA3Y3g5dFNtUG02T01COEdBMVVkSXdRWU1CYUFGT1JDRTh1LzFERFcKN2loWnA3Y3g5dFNtUG02T01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBRnQ1M3pqc3FUYUg1YThFMmNodm1XQWdDcnhSSzhiVkxNeGl3TkdqYm1FUFJ6K3c2TngrazBBOEtFY0lEc0tjClNYY2k1OHU0b1didFZKQmx6YS9adWpIUjZQMUJuT3BsK2FveTc4NGJiZDRQMzl3VExvWGZNZmJCQ20xdmV2aDkKQUpLbncyWnRxcjRta2JMY3hFcWxxM3NCTEZBUzlzUUxuS05DZTJjR0xkVHAyYm9HK3FjZ3lRZ0NJTTZmOEVNdgpXUGlmQ01NR3V6Sy9HUkY0YlBPL1lGNDhld0R1M1VlaWgwWFhkVUFPRTlDdFVhOE5JaGMxVVBhT3pQcnRZVnFyClpPR2t2L0t1K0I3OGg4U0VzTzlYclFjdXdiT25KeDZLdFIrYWV5a3ZBcFhDUTNmWkMvYllLQUFSK1A4QUpvUVoKYndJVW1YaTRnajVtK2JLUGhlK2lyK0U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
2929
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ2QwZlBDYWtweE1nUnUKT0VXQjFiQk5FM3ZseW55aTZWbkV2VWF1OUhvakR2UHVPTFJIaGI4MmoyY1ovMHhnL1lKR09LelBuV2JERkxGNApHdWh3dDRENmFUR0xYNklPODEwTDZ0SXZIWGZNUXRJS2VwdTZ3K3p1WVo4bG1yejB1RjZlWEtqamVIbHhyb2ZrCnVNekM3OUVaU0lYZlZlczJ1SmdVRSs4VGFzSDUzQ2Y4MFNSRGlIeEdxckttdVNjWCtwejBreGdCZ1VWYTVVS20KUWdTZDFmVUxLOUEwNXAxOXkrdURPM204bVhRNkxVQ0N1STFwZHNROGFlNS9zamlxa0VjWlJjMTdWYVgxWjVVaQpvcGZnNW9SY05VTG9VTHNiek9aNTR0YlVDUmdSV2VLbGZxaElINEZ6OUlkVlUyR3dFdEdhMmV6TjgyMVBaQ3QzCjZhbVRIelJsQWdNQkFBRUNnZ0VBWTFGTUlLNDVXTkVNUHJ6RTZUY3NNdVV2RkdhQVZ4bVk5NW5SMEtwajdvb3IKY21CVys2ZXN0TTQ4S1AwaitPbXd3VFpMY29Cd3VoWGN0V1Bob1lXcDhteWUxRUlEdjNyaHRHMDdocEQ1NGg2dgpCZzh3ejdFYStzMk9sT0N6UnlKNzBSY281YlhjWDNGaGJjdnFlRWJwaFFyQnpOSEtLMjZ4cmZqNWZIT3p6T1FGCmJHdUZ3SDVic3JGdFhlajJXM3c4eW90N0ZQSDV3S3RpdnhvSWU5RjMyOXNnOU9EQnZqWnpiaG1LVTArckFTK1kKRGVield2bFJyaEUrbXVmQTN6M0N0QXhDOFJpNzNscFNoTDRQQWlvcG1SUXlxZXRXMjYzOFFxcnM0R3hnNzhwbApJUXJXTmNBc2s3Slg5d3RZenV6UFBXSXRWTTFscFJiQVRhNTJqdFl2NVFLQmdRRE5tMTFtZTRYam1ZSFV2cStZCmFTUzdwK2UybXZEMHVaOU9JeFluQnBWMGkrckNlYnFFMkE1Rm5hcDQ5Yld4QTgwUElldlVkeUpCL2pUUkoxcVMKRUpXQkpMWm1LVkg2K1QwdWw1ZUtOcWxFTFZHU0dCSXNpeE9SUXpDZHBoMkx0UmtBMHVjSVUzY3hiUmVMZkZCRQpiSkdZWENCdlNGcWd0VDlvZTFldVpMVmFOd0tCZ1FERWdENzJENk81eGIweEQ1NDQ1M0RPMUJhZmd6aThCWDRTCk1SaVd2LzFUQ0w5N05sRWtoeXovNmtQd1owbXJRcE5CMzZFdkpKZFVteHdkU2MyWDhrOGcxMC85NVlLQkdWQWoKL3d0YVZYbE9WeEFvK0ZSelpZeFpyQ29uWWFSMHVwUzFybDRtenN4REhlZU9mUVZUTUgwUjdZN0pnbTA5dXQ4SwplanAvSXZBb1F3S0JnQjNaRWlRUWhvMVYrWjBTMlpiOG5KS0plMy9zMmxJTXFHM0ZkaS9RS3Q0eWViQWx6OGY5ClBZVXBzRmZEQTg5Z3grSU1nSm5sZVptdTk2ZnRXSjZmdmJSenllN216TG5zZU05TXZua1lHbGFGWmJRWnZubXMKN3ZoRmtzY3dHRlh4d21GMlBJZmU1Z3pNMDRBeVdjeTFIaVhLS2dNOXM3cGsxWUdyZGowZzdacmRBb0dCQUtLNApDR3MrbkRmMEZTMFJYOWFEWVJrRTdBNy9YUFhtSG5YMkRnU1h5N0Q4NTRPaWdTTWNoUmtPNTErbVNJejNQbllvCk41T1FXM2lHVVl1M1YvYmhnc0VSUzM1V2xmRk9BdDBzRUR5bjF5SVdXcDF5dG93d3BUNkVvUXVuZ2NYZjA5RjMKS1NROXowd3M4VmsvRWkvSFVXcU5LOWFXbU51cmFaT0ZqL2REK1ZkOUFvR0FMWFN3dEE3K043RDRkN0VEMURSRQpHTWdZNVd3OHFvdDZSdUNlNkpUY0FnU3B1MkhNU3JVY2dXclpiQnJZb09FUnVNQjFoMVJydk5ybU1qQlM0VW9FClgyZC8vbGhpOG1wL2VESWN3UDNRa2puanBJRFJWMFN1eWxrUkVaZURKZjVZb3R6eDdFdkJhbzFIbkQrWEg4eUIKVUtmWGJTaHZKVUdhRmgxT3Q1Y3JoM1k9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
30+
tls.ocsp-staple: T0NTUCBSZXNwb25zZSBEYXRhOgogICAgT0NTUCBSZXNwb25zZSBTdGF0dXM6IHN1Y2Nlc3NmdWwgKDB4MCkKICAgIFJlc3BvbnNlIFR5cGU6IEJhc2ljIE9DU1AgUmVzcG9uc2UKICAgIFZlcnNpb246IDEgKDB4MCkKICAgIFJlc3BvbmRlciBJZDogQyA9IFVTLCBPID0gRXhhbXBsZSBDQSwgQ04gPSBFeGFtcGxlIE9DU1AgUmVzcG9uZGVyCiAgICBQcm9kdWNlZCBBdDogU2VwIDMwIDExOjAwOjAwIDIwMjUgR01UCiAgICBSZXNwb25zZXM6CiAgICBDZXJ0aWZpY2F0ZSBJRDoKICAgICAgSGFzaCBBbGdvcml0aG06IHNoYTEKICAgICAgSXNzdWVyIE5hbWUgSGFzaDogMkE2Ri4uLgogICAgICBJc3N1ZXIgS2V5IEhhc2g6IDhDNUIuLi4KICAgICAgU2VyaWFsIE51bWJlcjogNzRBRjJDODRFMDhDOUExRAogICAgQ2VydCBTdGF0dXM6IGdvb2QKICAgIFRoaXMgVXBkYXRlOiBTZXAgMzAgMTE6MDA6MDAgMjAyNSBHTVQKICAgIE5leHQgVXBkYXRlOiBPY3QgIDIgMTE6MDA6MDAgMjAyNSBHTVQKICAgIEV4dGVuc2lvbnM6CiAgICAgICAgT0NTUCBOb25jZTogMDQxMEE0QzdGMjhDLi4uCiAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgogICAgU2lnbmF0dXJlIFZhbHVlOgogICAgICAgIDMwOjgx
3031
httpRoutes:
3132
- apiVersion: gateway.networking.k8s.io/v1
3233
kind: HTTPRoute

internal/gatewayapi/testdata/gateway-with-listener-with-valid-tls-configuration.out.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ xdsIR:
173173
certificates:
174174
- certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREVENDQWZXZ0F3SUJBZ0lVRUZNaFA5ZUo5WEFCV3NRNVptNmJSazJjTE5Rd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZqRVVNQklHQTFVRUF3d0xabTl2TG1KaGNpNWpiMjB3SGhjTk1qUXdNakk1TURrek1ERXdXaGNOTXpRdwpNakkyTURrek1ERXdXakFXTVJRd0VnWURWUVFEREF0bWIyOHVZbUZ5TG1OdmJUQ0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKbEk2WXhFOVprQ1BzNnBDUXhickNtZWl4OVA1RGZ4OVJ1NUxENFQKSm1kVzdJS2R0UVYvd2ZMbXRzdTc2QithVGRDaldlMEJUZmVPT1JCYlIzY1BBRzZFbFFMaWNsUVVydW4zcStncwpKcEsrSTdjSStqNXc4STY4WEg1V1E3clZVdGJ3SHBxYncrY1ZuQnFJVU9MaUlhdGpJZjdLWDUxTTF1RjljZkVICkU0RG5jSDZyYnI1OS9SRlpCc2toeHM1T3p3Sklmb2hreXZGd2V1VHd4Sy9WcGpJKzdPYzQ4QUJDWHBOTzlEL3EKRWgrck9hdWpBTWNYZ0hRSVRrQ2lpVVRjVW82TFNIOXZMWlB0YXFmem9acTZuaE1xcFc2NUUxcEF3RjNqeVRUeAphNUk4SmNmU0Zqa2llWjIwTFVRTW43TThVNHhIamFvL2d2SDBDQWZkQjdSTFUyc0NBd0VBQWFOVE1GRXdIUVlEClZSME9CQllFRk9SQ0U4dS8xRERXN2loWnA3Y3g5dFNtUG02T01COEdBMVVkSXdRWU1CYUFGT1JDRTh1LzFERFcKN2loWnA3Y3g5dFNtUG02T01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBRnQ1M3pqc3FUYUg1YThFMmNodm1XQWdDcnhSSzhiVkxNeGl3TkdqYm1FUFJ6K3c2TngrazBBOEtFY0lEc0tjClNYY2k1OHU0b1didFZKQmx6YS9adWpIUjZQMUJuT3BsK2FveTc4NGJiZDRQMzl3VExvWGZNZmJCQ20xdmV2aDkKQUpLbncyWnRxcjRta2JMY3hFcWxxM3NCTEZBUzlzUUxuS05DZTJjR0xkVHAyYm9HK3FjZ3lRZ0NJTTZmOEVNdgpXUGlmQ01NR3V6Sy9HUkY0YlBPL1lGNDhld0R1M1VlaWgwWFhkVUFPRTlDdFVhOE5JaGMxVVBhT3pQcnRZVnFyClpPR2t2L0t1K0I3OGg4U0VzTzlYclFjdXdiT25KeDZLdFIrYWV5a3ZBcFhDUTNmWkMvYllLQUFSK1A4QUpvUVoKYndJVW1YaTRnajVtK2JLUGhlK2lyK0U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
175175
name: envoy-gateway/tls-secret-1
176+
ocspStaple: T0NTUCBSZXNwb25zZSBEYXRhOgogICAgT0NTUCBSZXNwb25zZSBTdGF0dXM6IHN1Y2Nlc3NmdWwgKDB4MCkKICAgIFJlc3BvbnNlIFR5cGU6IEJhc2ljIE9DU1AgUmVzcG9uc2UKICAgIFZlcnNpb246IDEgKDB4MCkKICAgIFJlc3BvbmRlciBJZDogQyA9IFVTLCBPID0gRXhhbXBsZSBDQSwgQ04gPSBFeGFtcGxlIE9DU1AgUmVzcG9uZGVyCiAgICBQcm9kdWNlZCBBdDogU2VwIDMwIDExOjAwOjAwIDIwMjUgR01UCiAgICBSZXNwb25zZXM6CiAgICBDZXJ0aWZpY2F0ZSBJRDoKICAgICAgSGFzaCBBbGdvcml0aG06IHNoYTEKICAgICAgSXNzdWVyIE5hbWUgSGFzaDogMkE2Ri4uLgogICAgICBJc3N1ZXIgS2V5IEhhc2g6IDhDNUIuLi4KICAgICAgU2VyaWFsIE51bWJlcjogNzRBRjJDODRFMDhDOUExRAogICAgQ2VydCBTdGF0dXM6IGdvb2QKICAgIFRoaXMgVXBkYXRlOiBTZXAgMzAgMTE6MDA6MDAgMjAyNSBHTVQKICAgIE5leHQgVXBkYXRlOiBPY3QgIDIgMTE6MDA6MDAgMjAyNSBHTVQKICAgIEV4dGVuc2lvbnM6CiAgICAgICAgT0NTUCBOb25jZTogMDQxMEE0QzdGMjhDLi4uCiAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgogICAgU2lnbmF0dXJlIFZhbHVlOgogICAgICAgIDMwOjgx
176177
privateKey: '[redacted]'
177178
readyListener:
178179
address: 0.0.0.0

internal/ir/xds.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,8 @@ type TLSCertificate struct {
423423
Certificate []byte `json:"certificate,omitempty" yaml:"certificate,omitempty"`
424424
// PrivateKey for the server.
425425
PrivateKey PrivateBytes `json:"privateKey,omitempty" yaml:"privateKey,omitempty"`
426+
// OCSPStaple contains the stapled OCSP response associated with the certificate, if provided.
427+
OCSPStaple []byte `json:"ocspStaple,omitempty" yaml:"ocspStaple,omitempty"`
426428
}
427429

428430
// TLSCACertificate holds CA Certificate to validate clients
@@ -448,7 +450,7 @@ type SubjectAltName struct {
448450
URI *string `json:"uri,omitempty" yaml:"uri,omitempty"`
449451
}
450452

451-
func (t TLSCertificate) Validate() error {
453+
func (t *TLSCertificate) Validate() error {
452454
var errs error
453455
if len(t.Certificate) == 0 {
454456
errs = errors.Join(errs, ErrTLSCertEmpty)

internal/ir/zz_generated.deepcopy.go

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

internal/provider/file/store.go

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -139,133 +139,133 @@ func (r *resourcesStore) storeResources(ctx context.Context, re *resource.Resour
139139
collectKeys = sets.New[storeKey]()
140140
)
141141

142-
if err := r.stroeObjectWithKeys(ctx, re.EnvoyProxyForGatewayClass, collectKeys); err != nil {
142+
if err := r.storeObjectWithKeys(ctx, re.EnvoyProxyForGatewayClass, collectKeys); err != nil {
143143
errs = errors.Join(errs, err)
144144
}
145145

146-
if err := r.stroeObjectWithKeys(ctx, re.GatewayClass, collectKeys); err != nil {
146+
if err := r.storeObjectWithKeys(ctx, re.GatewayClass, collectKeys); err != nil {
147147
errs = errors.Join(errs, err)
148148
}
149149

150150
for _, obj := range re.EnvoyProxiesForGateways {
151-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
151+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
152152
errs = errors.Join(errs, err)
153153
}
154154
}
155155

156156
for _, obj := range re.Gateways {
157-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
157+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
158158
errs = errors.Join(errs, err)
159159
}
160160
}
161161

162162
for _, obj := range re.HTTPRoutes {
163-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
163+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
164164
errs = errors.Join(errs, err)
165165
}
166166
}
167167

168168
for _, obj := range re.GRPCRoutes {
169-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
169+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
170170
errs = errors.Join(errs, err)
171171
}
172172
}
173173

174174
for _, obj := range re.TLSRoutes {
175-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
175+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
176176
errs = errors.Join(errs, err)
177177
}
178178
}
179179

180180
for _, obj := range re.TCPRoutes {
181-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
181+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
182182
errs = errors.Join(errs, err)
183183
}
184184
}
185185

186186
for _, obj := range re.UDPRoutes {
187-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
187+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
188188
errs = errors.Join(errs, err)
189189
}
190190
}
191191

192192
for _, obj := range re.ReferenceGrants {
193-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
193+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
194194
errs = errors.Join(errs, err)
195195
}
196196
}
197197

198198
for _, obj := range re.Namespaces {
199-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
199+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
200200
errs = errors.Join(errs, err)
201201
}
202202
}
203203

204204
for _, obj := range re.Secrets {
205-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
205+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
206206
errs = errors.Join(errs, err)
207207
}
208208
}
209209

210210
for _, obj := range re.ConfigMaps {
211-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
211+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
212212
errs = errors.Join(errs, err)
213213
}
214214
}
215215

216216
for _, obj := range re.EnvoyPatchPolicies {
217-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
217+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
218218
errs = errors.Join(errs, err)
219219
}
220220
}
221221

222222
for _, obj := range re.ClientTrafficPolicies {
223-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
223+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
224224
errs = errors.Join(errs, err)
225225
}
226226
}
227227

228228
for _, obj := range re.BackendTrafficPolicies {
229-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
229+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
230230
errs = errors.Join(errs, err)
231231
}
232232
}
233233

234234
for _, obj := range re.SecurityPolicies {
235-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
235+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
236236
errs = errors.Join(errs, err)
237237
}
238238
}
239239

240240
for _, obj := range re.BackendTLSPolicies {
241-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
241+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
242242
errs = errors.Join(errs, err)
243243
}
244244
}
245245

246246
for _, obj := range re.EnvoyExtensionPolicies {
247-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
247+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
248248
errs = errors.Join(errs, err)
249249
}
250250
}
251251

252252
for _, obj := range re.Backends {
253-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
253+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
254254
errs = errors.Join(errs, err)
255255
}
256256
}
257257

258258
for _, obj := range re.HTTPRouteFilters {
259-
if err := r.stroeObjectWithKeys(ctx, obj, collectKeys); err != nil {
259+
if err := r.storeObjectWithKeys(ctx, obj, collectKeys); err != nil {
260260
errs = errors.Join(errs, err)
261261
}
262262
}
263263

264264
return collectKeys, errs
265265
}
266266

267-
// stroeObjectWithKeys stores object while collecting its key.
268-
func (r *resourcesStore) stroeObjectWithKeys(ctx context.Context, obj client.Object, keys sets.Set[storeKey]) error {
267+
// storeObjectWithKeys stores object while collecting its key.
268+
func (r *resourcesStore) storeObjectWithKeys(ctx context.Context, obj client.Object, keys sets.Set[storeKey]) error {
269269
key, err := r.storeObject(ctx, obj)
270270
if err != nil && key != nil {
271271
return fmt.Errorf("failed to store %s %s: %w", key.Kind, key.NamespacedName.String(), err)

0 commit comments

Comments
 (0)