You can either download the latest github release, or build from the go source:
go get github.com/StackExchange/dnscontrol
Individual providers will vary slightly. See the provider docs for specifics.
For this example we will use a single “BIND” provider that will generate zone files on our local file system.
The default name is
creds.json file with api tokens and other account information.
This will print out a list of “corrections” that need to be performed. It will not actually make any changes.
This will actually generate
zones/example.com.zone for you. The bind provider is more configurable, and you can read more information here.
Once you have the system working for a test zone, migrate other
zones. You can manually create the
D() statements, or you can
generate them automatically using the
utility that is included in the DNSControl repo (it converts
BIND-style zone files to DNSControl’s language). To make sure the
migration is correct, use
dnscontrol preview and make sure it
sees no differences.
Migrating doc gives more detailed advice.