mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	plugin/k8s_external: implement zone transfers (#4977)
Implement transfer for k8s_external. Notifies not supported. Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
This commit is contained in:
		| @@ -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. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user