-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Query service_meta info using DNS TXT query API #4081
Conversation
@rtbellows, |
@sodre This is a very welcomed idea. (I don't remember if TXT records can be compressed however Note that current SRV records suffer from metadata inflation of TXT records that reduce the data returned by SRV records (while it might hopefully soon benefit from #4131). Having this API would allow us to split SRV meta and TXT records information. That would be great, because it would allow to return far more SRV records on large clusters. Having this PR merged could allow us to add an option to avoid returning TXT records in SRV records and being more efficient (since most people probably do not care about TXT meta in SRV records, only A/AAAA, not all metadata) |
@sodre @pierresouchay Most of the following was in response to your earlier question about "what DNS TXT lookups are needed to support the ACME use-case?" But I'm primarily watching this in hopes of realizing so many additional uses cases for ServiceMeta data via the DNS TXT Consul interface - this will be very exciting! Thanks! TL;DR : this DNS use case, with the rfc1035- bit used by Node Meta, could make single name certs under the ".service." Consul subdomain via ACME pretty straight-forward. So, some additional thoughts here about an ACME use case that I've also hoped to work though: As an example, consider a Consul domain is .hashicorp.com ( instead of .consul ) and a "www" service will be resolvable via the DNS name www.service.hashicorp.com. In the ACME use case with Let's Encrypt , the DNS challenge asks the requestor to create a TXT record adjacent in the domain where "www" is resolved. The ACME service responds with what they would like to query DNS with ( they give a DNS record name and value) so one can prove that one "control" the domain. The DNS TXT record VALUE they generate seems to be a meaningful hash of something. For example: If Consul's Service+Tag+Meta feature is used when updating the Service registration - and, re-using the existing "Node Meta" implementation behavior of prepending "rfc1035-" to the Service Meta key ( https://www.consul.io/docs/agent/dns.html#node-lookups - so that the DNS record value only returns the MetaValue part, without the the **MetaKey=**MetaValue of the ServiceMeta); then, it seems feasible for this service registering itself as "www" to actually retrieve an SSL certificate for "www.service.hashicorp.com" from a source like Let'sEncrypt this way ( assuming the Consul DNS service is reachable from from the ACME DNS challenge nodes). With that said, these possible caveats came to mind:
Anyhow, super excited about this ServiceMeta DNS TXT record feature for other uses as well! Cheers. -Alan |
Hello, I just stumbled over this and I am wondering if there is still interest?! From a first look this sounds nice, but I haven't looked at all the implications yet. |
@i0rek, I don't currently have time to work on the implementation of this PR 😞. |
@sodre Thank you for getting back to me! Would you agree that we can close this PR? I am asking because I don't have time to do that either. |
Hey there, This issue has been automatically locked because it is closed and there hasn't been any activity for at least 30 days. If you are still experiencing problems, or still have questions, feel free to open a new one 👍. |
This is the service part of feature request #2709
Kudos: @pierresouchay for closing #3881