aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2018-02-07 11:31:08 -0500
committerGravatar Miek Gieben <miek@miek.nl> 2018-02-07 16:31:08 +0000
commit82854bf09875ec9c06eba7efd5c30ee65d47c759 (patch)
treef6641b0d7b6f9b4b87a0ec723383d932ee61c388
parentf636930c5cb72537e34856f2eb0e68ec17202f0e (diff)
downloadcoredns-82854bf09875ec9c06eba7efd5c30ee65d47c759.tar.gz
coredns-82854bf09875ec9c06eba7efd5c30ee65d47c759.tar.zst
coredns-82854bf09875ec9c06eba7efd5c30ee65d47c759.zip
plugin/kubernetes: Allow only one k8s section (#1497)
* allow only one k8s section * add test
-rw-r--r--plugin/kubernetes/setup.go5
-rw-r--r--plugin/kubernetes/setup_test.go14
2 files changed, 18 insertions, 1 deletions
diff --git a/plugin/kubernetes/setup.go b/plugin/kubernetes/setup.go
index 86221a182..e8fc484bf 100644
--- a/plugin/kubernetes/setup.go
+++ b/plugin/kubernetes/setup.go
@@ -74,7 +74,10 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, dnsControlOpts, error) {
resyncPeriod: defaultResyncPeriod,
}
- for c.Next() {
+ for i := 1; c.Next(); i++ {
+ if i > 1 {
+ return nil, opts, fmt.Errorf("only one kubernetes section allowed per server block")
+ }
zones := c.RemainingArgs()
if len(zones) != 0 {
diff --git a/plugin/kubernetes/setup_test.go b/plugin/kubernetes/setup_test.go
index 24d68f412..fed8513cf 100644
--- a/plugin/kubernetes/setup_test.go
+++ b/plugin/kubernetes/setup_test.go
@@ -382,6 +382,20 @@ func TestKubernetesParse(t *testing.T) {
fall.Zero,
nil,
},
+ // More than one Kubernetes not allowed
+ {
+ `kubernetes coredns.local
+kubernetes cluster.local`,
+ true,
+ "only one kubernetes section allowed per server block",
+ -1,
+ 0,
+ defaultResyncPeriod,
+ "",
+ podModeDisabled,
+ fall.Zero,
+ nil,
+ },
}
for i, test := range tests {