diff options
author | 2017-02-01 12:56:10 -0500 | |
---|---|---|
committer | 2017-02-01 12:56:10 -0500 | |
commit | 8beb1b2166102368ba5f19c7cf60850c555b915a (patch) | |
tree | d19eefd6abc0d2f0cbeb568e0f16ec7b61b23e38 /middleware/kubernetes/setup.go | |
parent | 3a04d2a306c793b0b3187fa9b52c89db9bd85cb9 (diff) | |
download | coredns-8beb1b2166102368ba5f19c7cf60850c555b915a.tar.gz coredns-8beb1b2166102368ba5f19c7cf60850c555b915a.tar.zst coredns-8beb1b2166102368ba5f19c7cf60850c555b915a.zip |
Allow cidr based reverse zone config (#500)
* add cidrs opt
* remove state data from middleware object
Diffstat (limited to 'middleware/kubernetes/setup.go')
-rw-r--r-- | middleware/kubernetes/setup.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/middleware/kubernetes/setup.go b/middleware/kubernetes/setup.go index 7fd9804e0..366084ada 100644 --- a/middleware/kubernetes/setup.go +++ b/middleware/kubernetes/setup.go @@ -3,6 +3,7 @@ package kubernetes import ( "errors" "fmt" + "net" "strings" "time" @@ -84,6 +85,20 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) { for c.NextBlock() { switch c.Val() { + case "cidrs": + args := c.RemainingArgs() + if len(args) > 0 { + for _, cidrStr := range args { + _, cidr, err := net.ParseCIDR(cidrStr) + if err != nil { + return nil, errors.New(c.Val() + " contains an invalid cidr: " + cidrStr) + } + k8s.ReverseCidrs = append(k8s.ReverseCidrs, *cidr) + + } + continue + } + return nil, c.ArgErr() case "pods": args := c.RemainingArgs() if len(args) == 1 { |