-
Notifications
You must be signed in to change notification settings - Fork 670
feat: process Gateway spec.tls.backend.clientCertificateRef for backend mTLS #8206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: process Gateway spec.tls.backend.clientCertificateRef for backend mTLS #8206
Conversation
❌ Deploy Preview for cerulean-figolla-1f9435 failed.
|
235a5e3 to
2eae3a1
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8206 +/- ##
==========================================
+ Coverage 73.76% 73.85% +0.08%
==========================================
Files 241 241
Lines 36579 36609 +30
==========================================
+ Hits 26983 27037 +54
+ Misses 7688 7666 -22
+ Partials 1908 1906 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
2eae3a1 to
907d2b0
Compare
|
hey @HueCodes thanks for picking this up, if this is an experimental field, lets make it opt in gateway/api/v1alpha1/envoygateway_types.go Line 140 in 6442347
|
|
can you also sign your commit and force push |
…nd mTLS Process the clientCertificateRef field from Gateway spec.tls.backend so it participates in the client TLS merge chain for backend mTLS. Precedence (highest to lowest): 1. Backend resource spec.tls.clientCertificateRef 2. Gateway spec.tls.backend.clientCertificateRef (new) 3. EnvoyProxy spec.backendTLS.clientCertificateRef Signed-off-by: HueCodes <[email protected]> Signed-off-by: Hugh <[email protected]>
Fix "TL." to "TLS." in the function comment. Signed-off-by: Hugh <[email protected]>
…lientCertificateRef The SecretObjectReference type used by GatewayBackendTLS.ClientCertificateRef allows cross-namespace secret references when authorized by a ReferenceGrant. Replace the hard same-namespace check in processGatewayBackendTLS with the existing validateSecretRef helper, which handles Group/Kind validation, ReferenceGrant checking, and secret existence in one call. Signed-off-by: Hugh <[email protected]>
Add test cases to achieve 100% coverage for processGatewayBackendTLS and mergeClientTLSConfigs functions. Coverage improvements: - processGatewayBackendTLS: 87.5% to 100.0% - mergeClientTLSConfigs: 73.1% to 100.0% Test scenarios added: - Empty clientCertificateRef handling - TLS version override (min/max) - Cipher suite override - ECDH curves override - Signature algorithms override - ALPN protocols override - Comprehensive three-way merge validation Signed-off-by: HueCodes <[email protected]> Signed-off-by: Hugh <[email protected]>
Make Gateway spec.tls.backend.clientCertificateRef an experimental
feature that must be explicitly enabled via EnvoyGateway config.
Add XGatewayBackendClientCert to GatewayAPI experimental features.
Users must enable this feature by setting:
envoyGateway:
gatewayAPI:
enabled:
- XGatewayBackendClientCert
Signed-off-by: Hugh <[email protected]>
6397461 to
4e9d7a0
Compare
Process the clientCertificateRef field from Gateway spec.tls.backend so it participates in the client TLS config merge chain for backend mTLS (GEP-3155).