Closed atollena closed 2 months ago
We are likely willing to provide a patch for this, if that helps. Looking at https://github.com/grpc/grpc-node/blob/a4c2106e63064070f3b9e580b2d1c74b0a9503a4/packages/grpc-js/src/resolver-dns.ts it doesn't seem terribly complicated to add this feature.
I don't see how you would do that. The only way I can see to make requests to a different DNS server is with dns.setServers
, but that is a global setting, as opposed to affecting a single request, so it is inappropriate to use in a library.
Something like this where you create a new resolver https://github.com/gkampitakis/grpc-node/pull/1?
I see. I didn't realize that the Resolver class had its own setServers
method. That should do it.
I am happy to send a pr for this 😄
I have created the pr with the above changes 👍
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:
GRPC_DNS_RESOLVER=ares
)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.