diff options
Diffstat (limited to 'plugin/autopath/setup.go')
-rw-r--r-- | plugin/autopath/setup.go | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/plugin/autopath/setup.go b/plugin/autopath/setup.go index 42b4b317a..f4b908465 100644 --- a/plugin/autopath/setup.go +++ b/plugin/autopath/setup.go @@ -5,8 +5,6 @@ import ( "github.com/coredns/coredns/core/dnsserver" "github.com/coredns/coredns/plugin" - "github.com/coredns/coredns/plugin/erratic" - "github.com/coredns/coredns/plugin/kubernetes" "github.com/mholt/caddy" "github.com/miekg/dns" @@ -34,11 +32,10 @@ func setup(c *caddy.Controller) error { if m == nil { return nil } - if x, ok := m.(*kubernetes.Kubernetes); ok { - ap.searchFunc = x.AutoPath - } - if x, ok := m.(*erratic.Erratic); ok { + if x, ok := m.(AutoPather); ok { ap.searchFunc = x.AutoPath + } else { + return plugin.Error("autopath", fmt.Errorf("%s does not implement the AutoPather interface", mw)) } return nil }) @@ -51,12 +48,6 @@ func setup(c *caddy.Controller) error { return nil } -// allowedPlugins has a list of plugin that can be used by autopath. -var allowedPlugins = map[string]bool{ - "@kubernetes": true, - "@erratic": true, -} - func autoPathParse(c *caddy.Controller) (*AutoPath, string, error) { ap := &AutoPath{} mw := "" @@ -68,10 +59,7 @@ func autoPathParse(c *caddy.Controller) (*AutoPath, string, error) { } resolv := zoneAndresolv[len(zoneAndresolv)-1] if resolv[0] == '@' { - _, ok := allowedPlugins[resolv] - if ok { - mw = resolv[1:] - } + mw = resolv[1:] } else { // assume file on disk rc, err := dns.ClientConfigFromFile(resolv) |