diff options
author | 2018-02-07 11:31:08 -0500 | |
---|---|---|
committer | 2018-02-07 16:31:08 +0000 | |
commit | 82854bf09875ec9c06eba7efd5c30ee65d47c759 (patch) | |
tree | f6641b0d7b6f9b4b87a0ec723383d932ee61c388 | |
parent | f636930c5cb72537e34856f2eb0e68ec17202f0e (diff) | |
download | coredns-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.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 { |