diff options
author | 2022-03-07 12:16:24 -0500 | |
---|---|---|
committer | 2022-03-07 12:16:24 -0500 | |
commit | 7263808fe1cfb3b9dfbc09d70c52d52a563e5254 (patch) | |
tree | c4cd35304fc001617d6943903d6ec5744906737d /plugin/k8s_external/external.go | |
parent | 267ce8a820a9e3491106dbdbe85793a771f516ba (diff) | |
download | coredns-7263808fe1cfb3b9dfbc09d70c52d52a563e5254.tar.gz coredns-7263808fe1cfb3b9dfbc09d70c52d52a563e5254.tar.zst coredns-7263808fe1cfb3b9dfbc09d70c52d52a563e5254.zip |
plugin/k8s_external: implement zone transfers (#4977)
Implement transfer for k8s_external. Notifies not supported.
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
Diffstat (limited to 'plugin/k8s_external/external.go')
-rw-r--r-- | plugin/k8s_external/external.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/plugin/k8s_external/external.go b/plugin/k8s_external/external.go index 720556969..c584b3414 100644 --- a/plugin/k8s_external/external.go +++ b/plugin/k8s_external/external.go @@ -29,9 +29,13 @@ type Externaler interface { External(request.Request) ([]msg.Service, int) // ExternalAddress should return a string slice of addresses for the nameserving endpoint. ExternalAddress(state request.Request) []dns.RR + // ExternalServices returns all services in the given zone as a slice of msg.Service. + ExternalServices(zone string) []msg.Service + // ExternalSerial gets the current serial. + ExternalSerial(string) uint32 } -// External resolves Ingress and Loadbalance IPs from kubernetes clusters. +// External serves records for External IPs and Loadbalance IPs of Services in Kubernetes clusters. type External struct { Next plugin.Handler Zones []string @@ -42,8 +46,10 @@ type External struct { upstream *upstream.Upstream - externalFunc func(request.Request) ([]msg.Service, int) - externalAddrFunc func(request.Request) []dns.RR + externalFunc func(request.Request) ([]msg.Service, int) + externalAddrFunc func(request.Request) []dns.RR + externalSerialFunc func(string) uint32 + externalServicesFunc func(string) []msg.Service } // New returns a new and initialized *External. |