DNSControl is a system for maintaining DNS zones.  It has two parts: a
domain specific language (DSL) for describing DNS zones plus software
that processes the DSL and pushes the resulting zones to DNS providers
such as Route53, Cloudflare, and Gandi.  It can send the same DNS
records to multiple providers.  It even generates the most beautiful
BIND zone files ever.  It runs anywhere Go runs (Linux, macOS,
Windows).  The provider model is extensible, so more providers can be
added.

Homepage:
https://dnscontrol.org/
