mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
docs/ Remove whitespace at EOL
This commit is contained in:
@@ -55,14 +55,14 @@ var TRANSFORM_INT = [
|
|||||||
{ low: "2.4.6.80", high: "2.4.6.90", newBase: "123.123.123.200" }, // Another rule, just to show that you can have many.
|
{ low: "2.4.6.80", high: "2.4.6.90", newBase: "123.123.123.200" }, // Another rule, just to show that you can have many.
|
||||||
]
|
]
|
||||||
|
|
||||||
D("foo.com", .... ,
|
D("foo.com", .... ,
|
||||||
A("one","1.2.3.1")
|
A("one","1.2.3.1")
|
||||||
A("two","1.2.3.2")
|
A("two","1.2.3.2")
|
||||||
A("three","1.2.3.13")
|
A("three","1.2.3.13")
|
||||||
A("four","1.2.3.14")
|
A("four","1.2.3.14")
|
||||||
);
|
);
|
||||||
|
|
||||||
D("bar.com", .... ,
|
D("bar.com", .... ,
|
||||||
A("www","123.123.123.123")
|
A("www","123.123.123.123")
|
||||||
IMPORT_TRANSFORM(TRANSFORM_INT, 'foo.com', 300),
|
IMPORT_TRANSFORM(TRANSFORM_INT, 'foo.com', 300),
|
||||||
);
|
);
|
||||||
|
@@ -31,11 +31,11 @@ is inappropriate for the domain. For example
|
|||||||
`PTR('1.2.3.4', 'f.co.')` is valid for the domain `D("3.2.1.in-addr.arpa',`
|
`PTR('1.2.3.4', 'f.co.')` is valid for the domain `D("3.2.1.in-addr.arpa',`
|
||||||
but DNSControl will generate an error if the domain is `D("9.9.9.in-addr.arpa',`.
|
but DNSControl will generate an error if the domain is `D("9.9.9.in-addr.arpa',`.
|
||||||
This is because `1.2.3.4` is contained in `1.2.3.0/24` but not `9.9.9.0/24`.
|
This is because `1.2.3.4` is contained in `1.2.3.0/24` but not `9.9.9.0/24`.
|
||||||
This validation works for IPv6, IPv4, and
|
This validation works for IPv6, IPv4, and
|
||||||
RFC2317 "Classless in-addr.arpa delegation" domains.
|
RFC2317 "Classless in-addr.arpa delegation" domains.
|
||||||
|
|
||||||
*Automatic truncation:* DNSControl will automatically truncate FQDNs
|
*Automatic truncation:* DNSControl will automatically truncate FQDNs
|
||||||
as needed.
|
as needed.
|
||||||
If the name is a FQDN ending with `.`, DNSControl will verify that the
|
If the name is a FQDN ending with `.`, DNSControl will verify that the
|
||||||
name is contained within the CIDR block implied by domain. For example
|
name is contained within the CIDR block implied by domain. For example
|
||||||
if name is `4.3.2.1.in-addr.arpa.` (note the trailing `.`)
|
if name is `4.3.2.1.in-addr.arpa.` (note the trailing `.`)
|
||||||
|
@@ -7,7 +7,7 @@ parameters:
|
|||||||
return: string
|
return: string
|
||||||
---
|
---
|
||||||
|
|
||||||
NewRegistrar registers a registrar provider. The name can be any string value you would like to use.
|
NewRegistrar registers a registrar provider. The name can be any string value you would like to use.
|
||||||
The type must match a valid registar provider type identifer (see [provider page.]({{site.github.url}}/provider-list))
|
The type must match a valid registar provider type identifer (see [provider page.]({{site.github.url}}/provider-list))
|
||||||
|
|
||||||
Metadata is an optional object, that will only be used by certain providers. See [individual provider docs]({{site.github.url}}/provider-list) for specific details.
|
Metadata is an optional object, that will only be used by certain providers. See [individual provider docs]({{site.github.url}}/provider-list) for specific details.
|
||||||
@@ -21,4 +21,4 @@ var r53 = NewDnsProvider("R53","ROUTE53");
|
|||||||
|
|
||||||
D("example.com", REGISTRAR, DnsProvider(r53), A("@","1.2.3.4"));
|
D("example.com", REGISTRAR, DnsProvider(r53), A("@","1.2.3.4"));
|
||||||
{%endhighlight%}
|
{%endhighlight%}
|
||||||
{% include endExample.html %}
|
{% include endExample.html %}
|
||||||
|
@@ -50,6 +50,6 @@ D(REV('2001:db8:302::/48'), REGISTRAR, DnsProvider(BIND),
|
|||||||
{%endhighlight%}
|
{%endhighlight%}
|
||||||
{% include endExample.html %}
|
{% include endExample.html %}
|
||||||
|
|
||||||
In the future we plan on adding a flag to `A()` which will insert
|
In the future we plan on adding a flag to `A()` which will insert
|
||||||
the correct PTR() record if the approprate `D(REV()` domain (i.e. `.arpa` domain) has been
|
the correct PTR() record if the approprate `D(REV()` domain (i.e. `.arpa` domain) has been
|
||||||
defined.
|
defined.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
<span style='font-weight: bold' class='example-collapse'> Example{% if include.name %} ({{ include.name }}){%endif%}:
|
<span style='font-weight: bold' class='example-collapse'> Example{% if include.name %} ({{ include.name }}){%endif%}:
|
||||||
<span class='expand-arrow'><i class="fa fa-caret-right" aria-hidden="true"></i></span>
|
<span class='expand-arrow'><i class="fa fa-caret-right" aria-hidden="true"></i></span>
|
||||||
<span class='collapse-arrow'><i class="fa fa-caret-down" aria-hidden="true"></i></span></span>
|
<span class='collapse-arrow'><i class="fa fa-caret-down" aria-hidden="true"></i></span></span>
|
||||||
<div class='collapse'>
|
<div class='collapse'>
|
||||||
|
@@ -49,7 +49,7 @@
|
|||||||
<script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script>
|
<script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script>
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
{% comment %} This script makes the examples collapse appropriately {% endcomment %}
|
{% comment %} This script makes the examples collapse appropriately {% endcomment %}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$('.example-collapse').click(function (e) {
|
$('.example-collapse').click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@@ -59,4 +59,4 @@
|
|||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
@@ -22,7 +22,7 @@ such information and saves a copy in a file called `adzonedump.ZONE.json`
|
|||||||
(where "ZONE" is replaced with the zone name). When `-fakeps` is enabled,
|
(where "ZONE" is replaced with the zone name). When `-fakeps` is enabled,
|
||||||
the PowerShell command is not run, but the `adzonedump.ZONE.json` file is
|
the PowerShell command is not run, but the `adzonedump.ZONE.json` file is
|
||||||
read. You can generate this file on a Windows system.
|
read. You can generate this file on a Windows system.
|
||||||
* Zone Changes: Normally when DNSControl needs to change DNS records, it
|
* Zone Changes: Normally when DNSControl needs to change DNS records, it
|
||||||
executes PowerShell commands as required. When `-fakeps` is enabled, these
|
executes PowerShell commands as required. When `-fakeps` is enabled, these
|
||||||
commands are simply logged to a file `dns_update_commands.ps1`.
|
commands are simply logged to a file `dns_update_commands.ps1`.
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@ jsId: BIND
|
|||||||
---
|
---
|
||||||
# Bind Provider
|
# 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
|
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.
|
a script external to DNSControl.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
@@ -128,6 +128,6 @@ D("chiphacker.com", REG_NAMECOM, DnsProvider(CFLARE),
|
|||||||
|
|
||||||
Notice a few details:
|
Notice a few details:
|
||||||
|
|
||||||
1. We need an A record with cloudflare proxy on, or the page rule will never run.
|
1. We need an A record with cloudflare proxy on, or the page rule will never run.
|
||||||
2. The IP address in those A records may be mostly irrelevant, as cloudflare should handle all requests (assuming some page rule matches).
|
2. The IP address in those A records may be mostly irrelevant, as cloudflare should handle all requests (assuming some page rule matches).
|
||||||
3. Ordering matters for priority. CF_REDIRECT records will be added in the order they appear in your js. So put catch-alls at the bottom.
|
3. Ordering matters for priority. CF_REDIRECT records will be added in the order they appear in your js. So put catch-alls at the bottom.
|
||||||
|
@@ -10,7 +10,7 @@ DNSControl adds an ALIAS record type, and leaves it up to the provider implement
|
|||||||
|
|
||||||
A few notes:
|
A few notes:
|
||||||
|
|
||||||
1. A provider must "opt-in" to supporting ALIAS records. When registering a provider, you specify which capabilities you support. Here is an example of how the
|
1. A provider must "opt-in" to supporting ALIAS records. When registering a provider, you specify which capabilities you support. Here is an example of how the
|
||||||
cloudflare provider declares its support for aliases:
|
cloudflare provider declares its support for aliases:
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -20,6 +20,6 @@ func init() {
|
|||||||
```
|
```
|
||||||
|
|
||||||
2. If you try to use ALIAS records, **all** dns providers for the domain must support ALIAS records. We do not want to serve inconsistent records across providers.
|
2. If you try to use ALIAS records, **all** dns providers for the domain must support ALIAS records. We do not want to serve inconsistent records across providers.
|
||||||
3. CNAMEs at `@` are disallowed, but ALIAS is allowed.
|
3. CNAMEs at `@` are disallowed, but ALIAS is allowed.
|
||||||
4. Cloudflare does not have a native ALIAS type, but CNAMEs behave similarly. The Cloudflare provider "rewrites" ALIAS records to CNAME as it sees them. Other providers may not need this step.
|
4. Cloudflare does not have a native ALIAS type, but CNAMEs behave similarly. The Cloudflare provider "rewrites" ALIAS records to CNAME as it sees them. Other providers may not need this step.
|
||||||
|
|
||||||
|
@@ -58,7 +58,7 @@ D('example.com', REG_NONE, DnsProvider(DNS_BIND),
|
|||||||
);
|
);
|
||||||
{%endhighlight%}
|
{%endhighlight%}
|
||||||
|
|
||||||
You may modify this file to match your particular providers and domains. See [the javascript docs]({{site.github.url}}/js) and [the provider docs]({{site.github.url}}/provider-list) for more details.
|
You may modify this file to match your particular providers and domains. See [the javascript docs]({{site.github.url}}/js) and [the provider docs]({{site.github.url}}/provider-list) for more details.
|
||||||
If you are using other providers, you will likely need to make a `creds.json` file with api tokens and other account information. For example, to use both name.com and Cloudflare, you would have:
|
If you are using other providers, you will likely need to make a `creds.json` file with api tokens and other account information. For example, to use both name.com and Cloudflare, you would have:
|
||||||
|
|
||||||
{% highlight js %}
|
{% highlight js %}
|
||||||
|
@@ -5,7 +5,7 @@ layout: default
|
|||||||
# Javascript DSL
|
# Javascript DSL
|
||||||
|
|
||||||
DNSControl uses javascript as its primary input language to provide power and flexibility to configure your domains. The ultimate purpose of the javascript is to construct a
|
DNSControl uses javascript as its primary input language to provide power and flexibility to configure your domains. The ultimate purpose of the javascript is to construct a
|
||||||
[DNSConfig](https://godoc.org/github.com/StackExchange/dnscontrol/models#DNSConfig) object that will be passed to the go backend and operated on.
|
[DNSConfig](https://godoc.org/github.com/StackExchange/dnscontrol/models#DNSConfig) object that will be passed to the go backend and operated on.
|
||||||
|
|
||||||
{% include funcList.md title="Top Level Functions" dir="global" %}
|
{% include funcList.md title="Top Level Functions" dir="global" %}
|
||||||
|
|
||||||
@@ -23,6 +23,6 @@ DNSControl uses javascript as its primary input language to provide power and fl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
f();
|
f();
|
||||||
$(window).on('hashchange',f);
|
$(window).on('hashchange',f);
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@@ -10,7 +10,7 @@ least one zone. You should have a working `dnsconfig.js` file and
|
|||||||
|
|
||||||
## General advice
|
## General advice
|
||||||
|
|
||||||
First, use the
|
First, use the
|
||||||
[Getting Started]({{site.github.url}}/getting-started) doc
|
[Getting Started]({{site.github.url}}/getting-started) doc
|
||||||
so that you have a working `dnsconfig.js` with at least one domain.
|
so that you have a working `dnsconfig.js` with at least one domain.
|
||||||
|
|
||||||
|
@@ -22,7 +22,7 @@ DNSControl attempts to manage these records for you as much as possible, accordi
|
|||||||
|
|
||||||
There are several different ways to declare nameservers for a zone:
|
There are several different ways to declare nameservers for a zone:
|
||||||
|
|
||||||
1. Explicit [`NAMESERVER`](/js#NAMESERVER) records in a domain:
|
1. Explicit [`NAMESERVER`](/js#NAMESERVER) records in a domain:
|
||||||
|
|
||||||
`NAMESERVER("ns1.myhost.tld")`
|
`NAMESERVER("ns1.myhost.tld")`
|
||||||
2. Request all nameservers to use from a provider (usually via api):
|
2. Request all nameservers to use from a provider (usually via api):
|
||||||
|
@@ -12,7 +12,7 @@ Edit the "Version" variable in `main.go` and commit.
|
|||||||
|
|
||||||
```
|
```
|
||||||
vi main.go
|
vi main.go
|
||||||
git commit -m'Release v1.5' main.go
|
git commit -m'Release v1.5' main.go
|
||||||
git tag v0.1.5
|
git tag v0.1.5
|
||||||
git push origin tag v0.1.5
|
git push origin tag v0.1.5
|
||||||
```
|
```
|
||||||
@@ -33,7 +33,7 @@ Review the git log using this command:
|
|||||||
|
|
||||||
Create the binaries and attach them to the release:
|
Create the binaries and attach them to the release:
|
||||||
|
|
||||||
go run build/build.go
|
go run build/build.go
|
||||||
|
|
||||||
NOTE: This command creates binaries with the version number and git hash embedded. It also builds the releases for all supported platforms (i.e. creates a .exe for Windows even if you are running on Linux. Isn't Go amazing?)
|
NOTE: This command creates binaries with the version number and git hash embedded. It also builds the releases for all supported platforms (i.e. creates a .exe for Windows even if you are running on Linux. Isn't Go amazing?)
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ https://github.com/StackExchange/dnscontrol/releases/tag/v0.1.5
|
|||||||
So many new providers and features! Plus, a new testing framework that makes it easier to add big features without fear of breaking old ones.
|
So many new providers and features! Plus, a new testing framework that makes it easier to add big features without fear of breaking old ones.
|
||||||
|
|
||||||
* list
|
* list
|
||||||
* of
|
* of
|
||||||
* major
|
* major
|
||||||
* changes
|
* changes
|
||||||
```
|
```
|
||||||
|
Reference in New Issue
Block a user