From 2b62384223edda028bebb6240e45ac3a4f6ca3c1 Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Fri, 23 Sep 2016 09:48:11 -0300 Subject: Refactoring of k8s helpers --- middleware/kubernetes/controller.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'middleware/kubernetes/controller.go') diff --git a/middleware/kubernetes/controller.go b/middleware/kubernetes/controller.go index 126d415ae..df3724ec4 100644 --- a/middleware/kubernetes/controller.go +++ b/middleware/kubernetes/controller.go @@ -5,8 +5,6 @@ import ( "sync" "time" - "github.com/miekg/coredns/middleware/kubernetes/util" - "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/cache" client "k8s.io/kubernetes/pkg/client/unversioned" @@ -19,6 +17,19 @@ var ( namespace = api.NamespaceAll ) +// storeToNamespaceLister makes a Store that lists Namespaces. +type storeToNamespaceLister struct { + cache.Store +} + +// List lists all Namespaces in the store. +func (s *storeToNamespaceLister) List() (ns api.NamespaceList, err error) { + for _, m := range s.Store.List() { + ns.Items = append(ns.Items, *(m.(*api.Namespace))) + } + return ns, nil +} + type dnsController struct { client *client.Client @@ -30,7 +41,7 @@ type dnsController struct { svcLister cache.StoreToServiceLister endpLister cache.StoreToEndpointsLister - nsLister util.StoreToNamespaceLister + nsLister storeToNamespaceLister // stopLock is used to enforce only a single call to Stop is active. // Needed because we allow stopping through an http endpoint and -- cgit v1.2.3