proposal
proposal copied to clipboard
GRPC DNS Resource Record
Greetings,
I want to start a discussion on the following proposal (before I create PR).
Thanks for your time.
GRPC record proposal
RFC 5507 lays down guidelines for how to use the DNS as a service that wants to store information in it. Quoting the Abstract :
Abstract
This note discusses how to extend the DNS with new data for a new application. DNS extension discussions too often focus on reuse of the TXT Resource Record Type. This document lists different mechanisms to extend the DNS, and concludes that the use of a new DNS Resource Record Type is the best solution.
The whole RFC is a good read, on the topic of prefixing a name, gRPC uses _grpc_config
it says in section 3.2 that this creates problems with wildcards.
As such I want to propose we ask IANA for a new RR type with the following name and semantics:
GRPC <version:8 bits> <reserved: 16 bits> <txt-rdata>
Those 8 and 16 bit fields might be overkill and we can just copy the TXT record semantics verbatim.
We drop the _gprc_config
prefix and just provision these GRPC records under the name we query. As we own the record type we can also drop the grpc-config=
prefix used in the TXT RDATA, simplifying that a bit as well.
I'm willing to do the heavy lifting here and fix up the Go code (I'm most proficient in that language) and fix a few other inefficiencies in that code path.
Which adds versioning to quickly sort and filter GRPC records. So this new record will only add a two, one octet fields and for the rest follow the TXT semantics. I.e. intial record will look like:
www.example.org. IN GRPC 0 0 "<json payload>"
if you're initially looking up www.example.org
.
Can you start a discussion thread on the grpcio mailing list about this?