Live data from Hacker News

Enabling DNS split authority with OctoDNS

githubengineering.com

11–14 of 14 posts

Re: Enabling DNS split authority with OctoDNS

#11
post #9

Earlier quoted context omitted.

The main reason was the YAML config file could be easily understood. Since switching things over to use OctoDNS a couple months ago we've had nearly 75 PRs to make changes, mostly internal/testing/dev, but plenty of real stuff too. I don't have an exact number, but skimming over those there's probably ~25 people who have made those PRs. In order to make it possible for anyone at the company to make PRs, not just SRE…

Thanks for explaining! So basically it comes down to "make this easier for non ops people to self-serve?

Yup! We review the PRs, but otherwise anyone at the company can submit them and deploy them out via chatops.

Re: Enabling DNS split authority with OctoDNS

#12
post #4

Why not use an existing tool like terraform? Terraform is able to manage resources from dyn, route53 and other DNS providers fairly easily.

Terraform is great, but requires N number of definitions for each DNS record. (where N is the number of DNS providers).

I believe OctoDNS abstracts multiple providers so you just define a single DNS record.

Re: Enabling DNS split authority with OctoDNS

#13
post #11

Earlier quoted context omitted.

Thanks for explaining! So basically it comes down to "make this easier for non ops people to self-serve?

Yup! We review the PRs, but otherwise anyone at the company can submit them and deploy them out via chatops.

Sounds awesome!

Re: Enabling DNS split authority with OctoDNS

#14
post #8
post #4

Why not use an existing tool like terraform? Terraform is able to manage resources from dyn, route53 and other DNS providers fairly easily.

Yeah. That's definitely something we looked closely at. I'd say the main difference is that OctoDNS abstracts away the details of the specific provider so that you write a single config that can be pushed to one or more places and changed over time without having to touch the records themselves. Terraform requires creating a resource for each record and provider pair. It's good for orchestrating a single provider esp…

Thanks, that makes sense.

I wish that the terraform language was flexible enough to allow building such abstractions on top of it.

Post reply on HN