2017-08-09 03:13:38 -07:00
|
|
|
# autopath
|
|
|
|
|
|
2017-09-15 22:27:55 +01:00
|
|
|
*autopath* allows CoreDNS to perform server side search path completion.
|
2017-08-09 03:13:38 -07:00
|
|
|
|
2017-09-15 22:27:55 +01:00
|
|
|
If it sees a query that matches the first element of the configured search path, *autopath* will
|
|
|
|
|
follow the chain of search path elements and returns the first reply that is not NXDOMAIN. On any
|
|
|
|
|
failures the original reply is returned. Because *autopath* returns a reply for a name that wasn't
|
|
|
|
|
the original question it will add a CNAME that points from the original name (with the search path
|
|
|
|
|
element in it) to the name of this answer.
|
2017-08-09 03:13:38 -07:00
|
|
|
|
|
|
|
|
## Syntax
|
|
|
|
|
|
|
|
|
|
~~~
|
2017-10-10 09:39:35 +02:00
|
|
|
autopath [ZONE...] RESOLV-CONF
|
2017-08-09 03:13:38 -07:00
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
* **ZONES** zones *autopath* should be authoritative for.
|
|
|
|
|
* **RESOLV-CONF** points to a `resolv.conf` like file or uses a special syntax to point to another
|
2017-09-14 09:36:06 +01:00
|
|
|
plugin. For instance `@kubernetes`, will call out to the kubernetes plugin (for each
|
2017-08-09 03:13:38 -07:00
|
|
|
query) to retrieve the search list it should use.
|
|
|
|
|
|
2017-09-14 09:36:06 +01:00
|
|
|
Currently the following set of plugin has implemented *autopath*:
|
2017-08-09 03:13:38 -07:00
|
|
|
|
|
|
|
|
* *kubernetes*
|
2017-08-18 12:57:23 +01:00
|
|
|
* *erratic*
|
2017-08-09 03:13:38 -07:00
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
|
|
~~~
|
|
|
|
|
autopath my-resolv.conf
|
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
Use `my-resolv.conf` as the file to get the search path from. This file only needs so have one line:
|
|
|
|
|
`search domain1 domain2 ...`
|
|
|
|
|
|
|
|
|
|
~~~
|
|
|
|
|
autopath @kubernetes
|
|
|
|
|
~~~
|
|
|
|
|
|
2017-09-14 09:36:06 +01:00
|
|
|
Use the search path dynamically retrieved from the kubernetes plugin.
|
2017-08-21 08:57:54 +01:00
|
|
|
|
|
|
|
|
## Bugs
|
|
|
|
|
|
2017-09-14 09:36:06 +01:00
|
|
|
When the *cache* plugin is enabled it is possible for pods in different namespaces to get the
|
2017-08-21 08:57:54 +01:00
|
|
|
same answer.
|