aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/setup.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2017-02-01 12:56:10 -0500
committerGravatar John Belamaric <jbelamaric@infoblox.com> 2017-02-01 12:56:10 -0500
commit8beb1b2166102368ba5f19c7cf60850c555b915a (patch)
treed19eefd6abc0d2f0cbeb568e0f16ec7b61b23e38 /middleware/kubernetes/setup.go
parent3a04d2a306c793b0b3187fa9b52c89db9bd85cb9 (diff)
downloadcoredns-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.go15
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 {