diff options
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/kubernetes/setup.go | 5 | ||||
-rw-r--r-- | plugin/kubernetes/setup_test.go | 14 |
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 { |