support for zone transfer for kubernetes (#1259)
* plugin/kubernetes: axfr Hook up dynamic SOA serial by setting ResourceEventHandlerFuncs in dnsController. Add prototype of returns msg.Services via the Transfer function. Leave expanding this to RRs out of scope for a bit. * plugin/kubernetes: axfr Respond to AXFR queries * Fixing race condition * Fixing instantiation of dnstest writer * Updates from review
This commit is contained in:
parent
864f502356
commit
6fd954f19c
13 changed files with 383 additions and 18 deletions
|
@ -2,6 +2,7 @@ package kubernetes
|
|||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/coredns/coredns/plugin/pkg/dnstest"
|
||||
"github.com/coredns/coredns/plugin/test"
|
||||
|
@ -35,6 +36,12 @@ var dnsTestCases = []test.Case{
|
|||
Answer: []dns.RR{test.SRV("svc1.testns.svc.cluster.local. 5 IN SRV 0 100 80 svc1.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.A("svc1.testns.svc.cluster.local. 5 IN A 10.0.0.1")},
|
||||
},
|
||||
{
|
||||
Qname: "svc6.testns.svc.cluster.local.", Qtype: dns.TypeSRV,
|
||||
Rcode: dns.RcodeSuccess,
|
||||
Answer: []dns.RR{test.SRV("svc6.testns.svc.cluster.local. 5 IN SRV 0 100 80 svc6.testns.svc.cluster.local.")},
|
||||
Extra: []dns.RR{test.AAAA("svc6.testns.svc.cluster.local. 5 IN AAAA 1234:abcd::1")},
|
||||
},
|
||||
// SRV Service (wildcard)
|
||||
{
|
||||
Qname: "svc1.*.svc.cluster.local.", Qtype: dns.TypeSRV,
|
||||
|
@ -266,6 +273,7 @@ func (APIConnServeTest) Run() { return }
|
|||
func (APIConnServeTest) Stop() error { return nil }
|
||||
func (APIConnServeTest) EpIndexReverse(string) []*api.Endpoints { return nil }
|
||||
func (APIConnServeTest) SvcIndexReverse(string) []*api.Service { return nil }
|
||||
func (APIConnServeTest) Modified() int64 { return time.Now().Unix() }
|
||||
|
||||
func (APIConnServeTest) PodIndex(string) []*api.Pod {
|
||||
a := []*api.Pod{{
|
||||
|
@ -286,6 +294,7 @@ var svcIndex = map[string][]*api.Service{
|
|||
Namespace: "testns",
|
||||
},
|
||||
Spec: api.ServiceSpec{
|
||||
Type: api.ServiceTypeClusterIP,
|
||||
ClusterIP: "10.0.0.1",
|
||||
Ports: []api.ServicePort{{
|
||||
Name: "http",
|
||||
|
@ -300,6 +309,7 @@ var svcIndex = map[string][]*api.Service{
|
|||
Namespace: "testns",
|
||||
},
|
||||
Spec: api.ServiceSpec{
|
||||
Type: api.ServiceTypeClusterIP,
|
||||
ClusterIP: "1234:abcd::1",
|
||||
Ports: []api.ServicePort{{
|
||||
Name: "http",
|
||||
|
@ -314,6 +324,7 @@ var svcIndex = map[string][]*api.Service{
|
|||
Namespace: "testns",
|
||||
},
|
||||
Spec: api.ServiceSpec{
|
||||
Type: api.ServiceTypeClusterIP,
|
||||
ClusterIP: api.ClusterIPNone,
|
||||
},
|
||||
}},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue