feat(base): support additional TLS listeners for SNI-based multi-cert gateways - #186
Open
serialito74 wants to merge 1 commit into
Open
feat(base): support additional TLS listeners for SNI-based multi-cert gateways#186serialito74 wants to merge 1 commit into
serialito74 wants to merge 1 commit into
Conversation
… gateways Both gateway.internal and gateway.public only ever templated a single HTTPS listener/cert (tls.secretPrivateName / tls.secretName). Customers routing hostnames covered by more than one certificate with disjoint SANs (e.g. two different corporate wildcard certs for different subdomains) had no supported way to serve both from the same Gateway. Adds an optional gateway.internal.extraListeners / gateway.public.extraListeners list — each entry (name, hostname, secretName) renders as an additional port-443 listener, selected by SNI. Empty by default, so existing deployments are unaffected.
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.
Problem
gateway.internalandgateway.publiceach template a single HTTPS listener bound to one cert (tls.secretPrivateName/tls.secretName). When the hostnames routed through a Gateway are covered by more than one certificate with disjoint SANs — e.g. two separate corporate wildcard certs for different subdomains — there is no supported way to serve them all from the same Gateway.Change
Adds an optional
gateway.internal.extraListeners/gateway.public.extraListenerslist. Each entry:renders as an additional
port: 443,protocol: HTTPSlistener on that Gateway, cert selected by SNI. Empty by default — existing deployments are unaffected.charts/base/values.yaml:extraListeners: []undergateway.internalandgateway.public, with docs.charts/base/templates/gateways.yaml:rangeblock appended to each Gateway'slisteners.Chart.yamlversion bump (leaving that to release-please).Verification
helm lint charts/base→ passes.helm template charts/base --show-only templates/gateways.yamlwithextraListenersset → renders the extraHTTPS/443 listeners on the correct Gateways with the rightcertificateRefs.extraListenersunset/empty → output identical to before (no regression).