aboutsummaryrefslogtreecommitdiff
path: root/plugin/root/README.md
blob: 33ea89e75dc2a12b6551c2c7538519ce5706b8ca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# root

## Name

*root* - simply specifies the root of where to find files. 

## Description

The default root is the current working directory of CoreDNS. The *root* plugin allows you to change
this. A relative root path is relative to the current working directory. 
**NOTE: The *root* directory is NOT currently supported by all plugins.** 
Currently the following plugins respect the *root* plugin configuration:

* file
* tls

This plugin can only be used once per Server Block. 

## Syntax

~~~ txt
root PATH
~~~

**PATH** is the directory to set as CoreDNS' root.

## Examples

Serve zone data (when the *file* plugin is used) from `/etc/coredns/zones`:

~~~ corefile
. {
    root /etc/coredns/zones
}
~~~

When you use the *root* and *tls* plugin together, your cert and key should also be placed in the *root* directory.
The example below will look for `/config/cert.pem` and `/config/key.pem`

~~~ txt
tls://example.com:853 {
    root /config
    tls cert.pem key.pem
    whoami
}
~~~

## Bugs

**NOTE: The *root* directory is NOT currently supported by all plugins.** 
Currently the following plugins respect the *root* plugin configuration:

* file
* tls