diff options
author | 2016-03-18 20:57:35 +0000 | |
---|---|---|
committer | 2016-03-18 20:57:35 +0000 | |
commit | 3ec0d9fe6b133a64712ae69fd712c14ad1a71f4d (patch) | |
tree | fae74c33cfed05de603785294593275f1901c861 /core/setup/root.go | |
download | coredns-3ec0d9fe6b133a64712ae69fd712c14ad1a71f4d.tar.gz coredns-3ec0d9fe6b133a64712ae69fd712c14ad1a71f4d.tar.zst coredns-3ec0d9fe6b133a64712ae69fd712c14ad1a71f4d.zip |
First commit
Diffstat (limited to 'core/setup/root.go')
-rw-r--r-- | core/setup/root.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/core/setup/root.go b/core/setup/root.go new file mode 100644 index 000000000..0fce5f170 --- /dev/null +++ b/core/setup/root.go @@ -0,0 +1,32 @@ +package setup + +import ( + "log" + "os" + + "github.com/miekg/coredns/middleware" +) + +// Root sets up the root file path of the server. +func Root(c *Controller) (middleware.Middleware, error) { + for c.Next() { + if !c.NextArg() { + return nil, c.ArgErr() + } + c.Root = c.Val() + } + + // Check if root path exists + _, err := os.Stat(c.Root) + if err != nil { + if os.IsNotExist(err) { + // Allow this, because the folder might appear later. + // But make sure the user knows! + log.Printf("[WARNING] Root path does not exist: %s", c.Root) + } else { + return nil, c.Errf("Unable to access root path '%s': %v", c.Root, err) + } + } + + return nil, nil +} |