2017-01-12 04:02:45 +08:00
---
2017-10-11 20:33:17 +08:00
name: BIND
title: BIND Provider
2017-01-12 04:02:45 +08:00
layout: default
jsId: BIND
---
2017-10-11 20:33:17 +08:00
# BIND Provider
2017-01-12 04:02:45 +08:00
2017-08-30 01:49:39 +08:00
This provider simply maintains a directory with a collection of .zone files. We currently copy zone files to our production servers and restart bind via
2017-03-23 00:38:08 +08:00
a script external to DNSControl.
## Configuration
2017-09-13 22:00:41 +08:00
In your credentials file (`creds.json`), you can specify a `directory` where the provider will look for and create zone files. The default is the `zones` directory where dnscontrol is run.
{% highlight javascript %}
{
2017-10-11 20:33:52 +08:00
"bind": {
2017-09-13 22:00:41 +08:00
"directory": "myzones"
}
}
{% endhighlight %}
2017-03-23 00:38:08 +08:00
The BIND provider does not require anything in `creds.json` . It does accept some (optional) metadata via your dns config when you create the provider:
{% highlight javascript %}
2017-10-11 20:33:52 +08:00
var BIND = NewDnsProvider('bind', 'BIND', {
'default_soa': {
'master': 'ns1.example.tld.',
'mbox': 'sysadmin.example.tld.',
'refresh': 3600,
'retry': 600,
'expire': 604800,
'minttl': 1440,
},
'default_ns': [
'ns1.example.tld.',
'ns2.example.tld.',
'ns3.example.tld.',
'ns4.example.tld.'
]
2017-03-23 00:38:08 +08:00
})
{% endhighlight %}
If you need to customize your SOA or NS records, you can do it with this setup.