feat(gatewayapi): support SDS listener certificate references#9525
Open
Sharvash wants to merge 5 commits into
Open
feat(gatewayapi): support SDS listener certificate references#9525Sharvash wants to merge 5 commits into
Sharvash wants to merge 5 commits into
Conversation
✅ Deploy Preview for cerulean-figolla-1f9435 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Allow SDS-backed certificates in listener IR validation when both the Unix socket URL and secret name are set. Keep inline certificate validation unchanged and cover invalid SDS configurations. Signed-off-by: Alexey Gorovenko <sharvashinho@gmail.com>
Accept Secrets with the gateway.envoyproxy.io/sds type when enableSDSSecretRef is enabled. Preserve ReferenceGrant checks, partial-invalid listener status, and certificate reference ordering while continuing to normalize inline TLS Secrets. Signed-off-by: Alexey Gorovenko <sharvashinho@gmail.com>
Translate listener SDS references into canonical static UDS clusters and wire them into Envoy TLS certificate SDS configs. Deduplicate clusters by socket URL and reject name collisions without exposing raw socket paths in errors. Signed-off-by: Alexey Gorovenko <sharvashinho@gmail.com>
Document the SDS Secret format, feature-gate behavior, cross-namespace references, and certificate-overlap limitation. Add the release note for issue envoyproxy#8915. Signed-off-by: Alexey Gorovenko <sharvashinho@gmail.com>
Add a UDS-backed SDS test server and an HTTPS Gateway scenario that verifies backend traffic and the exact certificate served by Envoy. Enable SDS Secret references in each E2E profile. Signed-off-by: Alexey Gorovenko <sharvashinho@gmail.com>
Sharvash
force-pushed
the
issue-8915-sds-listener-certificate-refs
branch
from
July 19, 2026 11:11
6b20f25 to
f8a6e4d
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #9525 +/- ##
==========================================
+ Coverage 75.53% 75.56% +0.03%
==========================================
Files 252 253 +1
Lines 41646 41758 +112
==========================================
+ Hits 31457 31556 +99
- Misses 8062 8072 +10
- Partials 2127 2130 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Member
11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
Allow Gateway listeners to use
gateway.envoyproxy.io/sdsSecrets intls.certificateRefswhenenableSDSSecretRefis enabled.This change:
The Unix socket cluster naming change affects existing generated xDS. EnvoyPatchPolicies and extension servers that refer to the previous cluster names must be updated. This is documented in the breaking-change release note.
Which issue(s) this PR fixes:
Fixes #8915
PR Checklist
git commit -s)./api.make generate gen-check,make lint, and coverage checks have not been run locally.make gen-checkhas not been run locally.