-
Notifications
You must be signed in to change notification settings - Fork 232
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
spec out dnslink #76
Comments
Some notes for discussion that may lead to a spec:
|
Thanks for writing these up! A DNSLink spec would be awesome.
I don't think DNS-SD is a fit here. It was designed for finding machines providing services and specifies a We do use DNS-SD for advertising ipfs nodes on the local network. Even there it's annoying to work with as everything we do is multiaddr based but this spec assumes that every service is running on an IP/port.
Are you trying to handle the issue described here: ipld/specs#19? Yeah, I'm not sure what the right solution is. Note: I wouldn't use
I like the idea but some users may not be able to create sub-domains.
I'd just discourage it and set an overall recursion limit. I'm wary of one-off semi-arbitrary rules like this. On this topic, does DNSLink even support CNAMEs right now? It should. |
(Typed on mobile. Please excuse any mistakes.)
No, you're not. The only documentation for DNSLink on a subdomain specifically mentioned many of the same reasons and motivations as the DNS-SD RFC. (Subname zone delegation, zone security, etc.) Additionally, it allows you to use CNAMEs. For example: you could have a TXT record on _ipfs.www.example.com and a CNAME pointing to that domain from _ipfs.example.com, or point both of them to _ipfs.customername.pinningservice.example.net. Any way, I'd like to change the DNSLink zone name. If shouldn't refer to DNS (reduntant) and it really should refer to IPFS (or IPLD, IPNS, or whatever the correct addressing space is called.)
That wasn't really what I was going for. My own experience is that new content, meaning things that you've just published/added to an IPFS mode can be really slow to fetch. Nobody likes slow services. This proposal is supposed to allow clients to fetch precious/older versions as a fallback after you've updated the pinned IPFS CID in DNS. The new hash may take some time to become available and the old hash is more likely to be broadly distributed and more available in the network already. So it's a graceful fallback to an older version, at the domain owner's discretion. To ensure availability, I've had to first add to nothing to a couple of IPFS nodes, wait an hour, and then update DNS. Allowing for fallback to the previous version would mean I could deploy faster and some clients would get the new content as soon as possible. My IPFS nodes could all crash while they were the only nodes that hosted the new content: so allowing clients to still use the old versions from other distributed norms that may have a copy is good for availability.
Then they're unlikely to be able to add any DNS records at all. It's not worth the performance cost for all domains forever to support two schemes. People can move their authorities DNS and there are free authorative services out there. You can even run your own authorative DNS service.
I'm all for discouraging it but allowing one hop (recursion limit of one) allows for some flexibility. CNAMES can have as long chains as the upstream recursive resolver wants to handle (I believe most resolve upwards to around 30 before they give up).
go-ipfs does. Or rather, all recursive and stub resolvers do it so go-ipfs just get the final canonical answer from the system's resolver and is happily unaware of any complexity involved with resolving the CNAMEs. |
For clarification on what is meant with zone delegation: you can give another name server responsibility of a subdomain as a separate zone. Instead of updating the entire root zone and giving access to write to the root to a system responsible for updating IPFS records, you can use a subdomain as a separate zone with separate access controls. Platforms like Azure DNS allow the creation of sub domain/zone API keys, for example. |
No description provided.
The text was updated successfully, but these errors were encountered: