diff options
Diffstat (limited to 'middleware/kubernetes/ns.go')
-rw-r--r-- | middleware/kubernetes/ns.go | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/middleware/kubernetes/ns.go b/middleware/kubernetes/ns.go deleted file mode 100644 index 4cacc382f..000000000 --- a/middleware/kubernetes/ns.go +++ /dev/null @@ -1,65 +0,0 @@ -package kubernetes - -import ( - "net" - "strings" - - "github.com/miekg/dns" - "k8s.io/client-go/1.5/pkg/api" -) - -func isDefaultNS(name, zone string) bool { - return strings.Index(name, defaultNSName) == 0 && strings.Index(name, zone) == len(defaultNSName) -} - -func (k *Kubernetes) nsAddr() *dns.A { - var ( - svcName string - svcNamespace string - ) - - rr := new(dns.A) - localIP := k.interfaceAddrsFunc() - endpointsList := k.APIConn.EndpointsList() - - rr.A = localIP - -FindEndpoint: - for _, ep := range endpointsList.Items { - for _, eps := range ep.Subsets { - for _, addr := range eps.Addresses { - if localIP.Equal(net.ParseIP(addr.IP)) { - svcNamespace = ep.ObjectMeta.Namespace - svcName = ep.ObjectMeta.Name - break FindEndpoint - } - } - } - } - - if len(svcName) == 0 { - rr.Hdr.Name = defaultNSName - rr.A = localIP - return rr - } - // Find service to get ClusterIP - serviceList := k.APIConn.ServiceList() - -FindService: - for _, svc := range serviceList { - if svcName == svc.Name && svcNamespace == svc.Namespace { - if svc.Spec.ClusterIP == api.ClusterIPNone { - rr.A = localIP - } else { - rr.A = net.ParseIP(svc.Spec.ClusterIP) - } - break FindService - } - } - - rr.Hdr.Name = strings.Join([]string{svcName, svcNamespace, "svc."}, ".") - - return rr -} - -const defaultNSName = "ns.dns." |