fix(connectivity): dial ledger v3 gRPC by Service name, not TLS SNI - #517
fix(connectivity): dial ledger v3 gRPC by Service name, not TLS SNI#517Dav-14 wants to merge 1 commit into
Conversation
ledgerAddress was built from backend.TLS.ServerName, the SNI/certificate FQDN (ledger-<stack>.<stack>.svc.cluster.local). On clusters whose DNS domain is not cluster.local that FQDN need not resolve, so connectivity-core could not reach the ledger. Build the dial address from backend.Name — the Service name, which resolves in the stack namespace on any DNS domain — and keep TLS.ServerName as the SNI on spec.ledgerTLS for certificate verification, mirroring how the gateway upstream dials its backend. Addresses NumaryBot finding 52f0f4a930fa3d33.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Superseded by #492, which includes this fix and verifies the Service dial address while preserving the TLS SNI. |
ledgerAddress was built from backend.TLS.ServerName, the SNI/certificate FQDN
(ledger-..svc.cluster.local). On clusters whose DNS domain is not
cluster.local that FQDN need not resolve, so connectivity-core could not reach
the ledger. Build the dial address from backend.Name — the Service name, which
resolves in the stack namespace on any DNS domain — and keep TLS.ServerName as
the SNI on spec.ledgerTLS for certificate verification, mirroring how the gateway
upstream dials its backend.
Addresses NumaryBot finding 52f0f4a930fa3d33.
Stack created with GitHub Stacks CLI • Give Feedback 💬