1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

adding docs again

This commit is contained in:
Craig Peterson
2017-01-11 13:02:45 -07:00
parent 8e5257c497
commit 7ba051d750
40 changed files with 761 additions and 0 deletions

9
docs/_providers/bind.md Normal file
View File

@@ -0,0 +1,9 @@
---
name: Bind
layout: default
jsId: BIND
---
# Bind Provider
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
a script external to DNSControl.

65
docs/_providers/gcloud.md Normal file
View File

@@ -0,0 +1,65 @@
---
name: "Google cloud DNS"
layout: default
jsId: GCLOUD
---
# Google cloud DNS Provider
## Configuration
In your providers config json file you must provide the following fields:
{% highlight json %}
{
"gcloud":{
"clientId": "abc123",
"clientSecret": "abc123",
"refreshToken":"abc123",
"project": "your-gcloud-project-name",
}
}
{% endhighlight %}
See [the Activation section](#activation) for some tips on obtaining these credentials.
## Metadata
This provider does not recognize any special metadata fields unique to googel cloud dns.
## Usage
Use this provider like any other DNS Provider:
{% highlight js %}
var REG_NAMECOM = NewRegistrar("name.com","NAMEDOTCOM");
var GCLOUD = NewDnsProvider("gcloud", GCLOUD);
D("example.tld", REG_NAMECOM, DnsProvider(GCLOUD),
A("test","1.2.3.4")
);
{%endhighlight%}
## Activation
Because this provider depends on Oauth for authentication, generating the correct tokens can be a bit daunting. We recommend using the
[Google Oauth2 Playground](https://developers.google.com/oauthplayground/) to generate refresh tokens.
1. In the google cloud platform console, create a project to host your DNS zones.
2. Go to API Manager / Credentials and create a new OAuth2 Client ID. Create it for a Web Application.
Make sure to add https://developers.google.com/oauthplayground to the "Authorized redirect URIs" section.
![New Oauth Client ID]({{ site.github.url }}/assets/gcloud-credentials.png)
3. Save your client id and client secret, along with your project name in your providers.json for DNSControl.
4. Go to the [Google Oauth2 Playground](https://developers.google.com/oauthplayground/). Click the settings icon on the top right side and select
"Use your own OAuth credentials". Enter your client id and client secret as obtained above.
![Settings Panel]({{ site.github.url }}/assets/gcloud-settings.png)
5. Select the scope for "Google Cloud DNS API v1 > https://www.googleapis.com/auth/ndev.clouddns.readwrite".
6. Make sure you authorize the api as the user you intend to make API requests with.
7. Click "Exchange authorization code for tokens" and get a refresh and access token:
![Refresh Token]({{ site.github.url }}/assets/gcloud-token.png)
8. Store the refresh token in your providers.json for DNSControl. It will take care of refreshing the token as needed.

View File

@@ -0,0 +1,56 @@
---
name: "Name.com"
layout: default
jsId: NAMEDOTCOM
---
# Name.com Provider
## Configuration
In your providers config json file you must provide your name.com api username and access token:
{% highlight json %}
{
"name.com":{
"apikey": "yourApiKeyFromName.com-klasjdkljasdlk235235235235",
"apiuser": "yourUsername"
}
}
{% endhighlight %}
## Metadata
This provider does not recognize any special metadata fields unique to name.com.
## Usage
Example javascript (DNS hosted with name.com):
{% highlight js %}
var REG_NAMECOM = NewRegistrar("name.com","NAMEDOTCOM");
var NAMECOM = NewDnsProvider("name.com","NAMEDOTCOM");
D("example.tld", REG_NAMECOM, DnsProvider(NAMECOM),
A("test","1.2.3.4")
);
{%endhighlight%}
Example javascript (Registrar only. DNS hosted elsewhere):
{% highlight js %}
var REG_NAMECOM = NewRegistrar("name.com","NAMEDOTCOM");
var R53 = NewDnsProvider("r53", ROUTE53);
D("example.tld", REG_NAMECOM, DnsProvider(R53),
A("test","1.2.3.4")
);
{%endhighlight%}
{% include alert.html text="Note: name.com does not allow control over the NS records of your zones via the api. It is not recommended to use name.com's dns provider unless it is your only dns host." %}
## Activation
In order to activate api functionality on your name.com account, you must apply to the api program.
The application form is [located here](https://www.name.com/reseller/apply). It usually takes a few days to get a response.
After you are accepted, you should receive your api token via email.

View File

@@ -0,0 +1,40 @@
---
name: Route 53
layout: default
jsId: ROUTE53
---
# Amazon Route 53 Provider
## Configuration
In your providers config json file you must provide an aws access key:
{% highlight json %}
{
"r53":{
"KeyId": "your-aws-key",
"SecretKey": "your-aws-secret-key"
}
}
{% endhighlight %}
## Metadata
This provider does not recognize any special metadata fields unique to route 53.
## Usage
Example javascript:
{% highlight js %}
var REG_NAMECOM = NewRegistrar("name.com","NAMEDOTCOM");
var R53 = NewDnsProvider("r53", ROUTE53);
D("example.tld", REG_NAMECOM, DnsProvider(R53),
A("test","1.2.3.4")
);
{%endhighlight%}
## Activation
DNSControl depends on a standard [aws access key](https://aws.amazon.com/developers/access-keys/) with permission to create and update hosted zones.