grpc / grpc/proposal

GRPC DNS Resource Record

Open
#139 1 comment 0 reactions 1 assignee Claimed by @markdroth View on GitHub
Dominant language
No language data
Stars
783
Forks
268
Avg merge
6h 38m
Merged PRs (30d)
4

Description

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

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 ""

if you're initially looking up `www.example.org`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.