Request for guide: Authoritative nameservers with CoreDNS

We soft launched UDP services, which means it’s now possible to run DNS services on Fly.

We’d like to publish a guide to setting up authoritative nameservers with Fly. This is special because it’s really hard to do anycast DNS from scratch, it’s easy on Fly. We think there are a lot of special DNS services waiting to be built by small teams and solo devs.

If you feel up to writing a guide, reply here with some links to previous work (if don’t have previous work, see footnote). We’re going to pay $800 for this guide.

References

  1. The Fly guide structure: https://github.com/fly-examples/example-guide
  2. How to serve a zonefile with coreDNS: CoreDNS: DNS and Service Discovery
  3. A pretty good guide about running your own nameservers without Fly: Run Your Own Authoritative DNS Servers | Josh Mcguigan - The things I write

1 If you haven’t created this kind of content before and are interested, we’ll work with you to find a topic and pay you to finish it. Just create a thread in the Writers’ Room.

:wave: I have some prior work written here, though it’s been awhile https://medium.com/@jphenow. Most more recent work has been done as company-internal writing.

I was curious about getting something basic going so there’s a start for this here. The write-up is a pretty rough draft but I’m all ears for gaping holes you think should be touched on.

It’s a private repo at the moment but if anyone needs access just drop me a note. I’ve given Kurt and Michael access at this point.

This seems like a good start at a Go based DNS demo. I think getting it to “How to do Authoritative DNS” is a matter of implementing what you need to handle queries for a given domain, adding ips to a Fly app, and then updating the registrar with nameserver IPs (like ns1.example.com, etc).

1 Like

:+1: makes sense - more or less along what I was thinking was blatantly missing this point. I’ll drop a note when I get some more in.

@kurt Is this request still relevant? I have been playing with this over the last couple of days and was wanting to write a personal blog post for it, so a guide wouldn’t be a leap.

Yes! If you’re writing it already we can just promote your blog post. I think it’s probably great as a blog post, especially if you’re going into the “how dns works” technical details that devs might like.

Great, glad to hear. I am still working on actually getting a blog set up (on fly.io), so I think that the blog post may be a couple of weeks out :sweat_smile:. It would probably be interesting to cover from both angles (one with more focus on the weird/tricky aspects of DNS, and the other with focus on “how to get this working on fly”). The former would probably fit better on a personal blog, whilst the latter is well-suited for a guide.

In the meantime, I have put together a guide similar to some of the existing examples in the fly-apps org. It’s available here: https://github.com/JamesGuthrie/fly-coredns. The repo is private for now but I have given you access @kurt, let me know if there is anybody else I should give access to.

I think that content-wise it’s probably 70-80% there. I’m not sure if it has gone in the direction that you were wanting, so feel free to give me feedback on what you think is missing or could be improved.

Hey @kurt did you get a chance to take a look at the guide that I have put together?

Ahhh! The invite expired before I saw this. The guide + later post idea makes sense, this is roughly how we do things. This is the best guide + blog combo we have:

Ah damn, I didn’t realise that invitations expire! I have re-invited you to the repo. I look forward to hearing your feedback. I guess it doesn’t quite have the level of polish yet as the examples that you shared, but it could get there.

Oh wow this is a really nice guide. I think it does exactly what a guide should, which is explain step by step what you’re doing. The fancy blog posts are just the last mile to make it interesting for a much broader set of devs.

How do you want to post this, do you want to just open it up and we’ll promote the heck out of it, or would you rather have it in github.com/fly-apps/?

I’m pleased that you like the guide!

I don’t have a strong preference - but it would probably make the most sense to have it in github.com/fly-apps/. That way you can update it in case anything becomes out of date.

Shall I initiate the transfer to fly-apps?

Yes go for it! You can either transfer to fly-apps or mrkurt and I’ll take care of it.

Great, I have initiated the transfer to mrkurt.

Here it be! GitHub - fly-apps/coredns: Authoritative CoreDNS on Fly.io

Great work. I’m going to close this thread now, it feels good. :slight_smile:

1 Like