aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugin')
-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 {