mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-12-26 18:50:37 +08:00
DOCS: Document no_ns
This commit is contained in:
parent
cba298b6df
commit
58ad7945fe
2 changed files with 54 additions and 2 deletions
|
|
@ -69,7 +69,6 @@ D("example.com", REG_NAMECOM,
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
|
||||
## Registrar is elsewhere
|
||||
|
||||
Purpose:
|
||||
|
|
@ -91,6 +90,30 @@ D("example.com", REG_NONE,
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
## Domain is "nowhere"
|
||||
|
||||
Suppose you don't want to manage a domain, but you want to list the zone in
|
||||
your `dnsconfig.js` file for inventory purposes. For example, suppose there are
|
||||
domains that some other part of your company maintains, but you want to list it
|
||||
in your `dnsconfig.js` because it is authoratative for the company.
|
||||
|
||||
```javascript
|
||||
var REG_NONE = NewRegistrar("none");
|
||||
|
||||
function INVENTORY_ONLY(name) {
|
||||
D(name, REG_NONE, { no_ns: "true" });
|
||||
}
|
||||
|
||||
INVENTORY_ONLY('example.com");
|
||||
INVENTORY_ONLY('example2.com");
|
||||
INVENTORY_ONLY('example.net");
|
||||
```
|
||||
|
||||
Now you can produce a list of your zones like this:
|
||||
|
||||
```shell
|
||||
dnscontrol print-ir | jq -r '.domains[].name'
|
||||
```
|
||||
|
||||
## Zone is elsewhere
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,8 @@ Modifier arguments are processed according to type as follows:
|
|||
{% code title="dnsconfig.js" %}
|
||||
```javascript
|
||||
// simple domain
|
||||
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
||||
D("example.com", REG_MY_PROVIDER,
|
||||
DnsProvider(DSP_MY_PROVIDER),
|
||||
A("@","1.2.3.4"), // "@" means the apex domain. In this case, "example.com" itself.
|
||||
CNAME("test", "foo.example2.com."),
|
||||
);
|
||||
|
|
@ -53,6 +54,34 @@ In other words, if you want to put a DNS record at the apex of a domain, use an
|
|||
In the above example, `example.com` has an `A` record with the value `"1.2.3.4"` at the apex of the domain.
|
||||
{% endhint %}
|
||||
|
||||
# `no_ns`
|
||||
|
||||
To prevent DNSControl from accidentally deleting your nameservers (at the
|
||||
parent domain), registrar updates are disabled if the list of nameservers for a
|
||||
zone (as computed from `dnsconfig.js`) is empty.
|
||||
|
||||
This can happen when a provider doesn't give any control over the apex NS
|
||||
records, there are no default nameservers, and the provider returns an empty
|
||||
list of nameservers (such as Gandi and Vercel).
|
||||
|
||||
In this situation, you will see an error message such as:
|
||||
|
||||
```
|
||||
Skipping registrar REGISTRAR: No nameservers declared for domain "example.com". Add {no_ns:'true'} to force
|
||||
```
|
||||
|
||||
To add this, add the meta data to the zone immediately following the registrar.
|
||||
|
||||
```javascript
|
||||
D("example.com", REG_MY_PROVIDER, {no_ns:'true'},
|
||||
...
|
||||
...
|
||||
...
|
||||
);
|
||||
```
|
||||
|
||||
Note that the value `true` is a string.
|
||||
|
||||
# Split Horizon DNS
|
||||
|
||||
DNSControl supports Split Horizon DNS. Simply
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue