grpc-node
grpc-node copied to clipboard
Implement authority overrides in the DNS resolver
Is your feature request related to a problem? Please describe.
We have use cases where we would like to use the DNS resolver with a DNS server that is not the system's DNS server.
Describe the solution you'd like
Implement DNS server authority parsing as described in https://github.com/grpc/grpc/blob/master/doc/naming.md:
authority
indicates the DNS server to use, although this is only supported by some implementations. (In C-core, the default DNS resolver does not support this, but the c-ares based resolver supports specifying this in the form "IP:port".).
- Golang implementation
-
C-core implementation (only when using
GRPC_DNS_RESOLVER=ares
) - Java: not implemented as customizing DNS server is a bit of a moving target
Describe alternatives you've considered
Do more customisation to the DNS configuration, not involving gRPC directly.
Additional context
We have workloads in javascript that run browser tests and use public DNS for most resolutions, and a custom DNS server for our internal service discovery system to report results to our internal systems.