mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 00:34:24 -04:00
Configurable zone reload interval in file plugin (#2110)
* Configurable zone reload interval in file plugin * passing reload config from auto plugin to file plugin. removed noReload property from Zone struct. fixed tests based on short file reload hack
This commit is contained in:
@@ -3,6 +3,7 @@ package file
|
||||
import (
|
||||
"os"
|
||||
"path"
|
||||
"time"
|
||||
|
||||
"github.com/coredns/coredns/core/dnsserver"
|
||||
"github.com/coredns/coredns/plugin"
|
||||
@@ -91,7 +92,7 @@ func fileParse(c *caddy.Controller) (Zones, error) {
|
||||
names = append(names, origins[i])
|
||||
}
|
||||
|
||||
noReload := false
|
||||
reload := 1 * time.Minute
|
||||
upstr := upstream.Upstream{}
|
||||
t := []string{}
|
||||
var e error
|
||||
@@ -104,8 +105,15 @@ func fileParse(c *caddy.Controller) (Zones, error) {
|
||||
return Zones{}, e
|
||||
}
|
||||
|
||||
case "reload":
|
||||
d, err := time.ParseDuration(c.RemainingArgs()[0])
|
||||
if err != nil {
|
||||
return Zones{}, plugin.Error("file", err)
|
||||
}
|
||||
reload = d
|
||||
|
||||
case "no_reload":
|
||||
noReload = true
|
||||
reload = 0
|
||||
|
||||
case "upstream":
|
||||
args := c.RemainingArgs()
|
||||
@@ -122,7 +130,7 @@ func fileParse(c *caddy.Controller) (Zones, error) {
|
||||
if t != nil {
|
||||
z[origin].TransferTo = append(z[origin].TransferTo, t...)
|
||||
}
|
||||
z[origin].NoReload = noReload
|
||||
z[origin].ReloadInterval = reload
|
||||
z[origin].Upstream = upstr
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user