diff options
-rw-r--r-- | plugin/kubernetes/apiproxy.go | 75 | ||||
-rw-r--r-- | plugin/kubernetes/kubernetes.go | 1 | ||||
-rw-r--r-- | plugin/kubernetes/setup.go | 6 |
3 files changed, 0 insertions, 82 deletions
diff --git a/plugin/kubernetes/apiproxy.go b/plugin/kubernetes/apiproxy.go deleted file mode 100644 index 305522cbe..000000000 --- a/plugin/kubernetes/apiproxy.go +++ /dev/null @@ -1,75 +0,0 @@ -package kubernetes - -import ( - "fmt" - "io" - "net" - "net/http" - - "github.com/coredns/coredns/plugin/pkg/healthcheck" -) - -type proxyHandler struct { - healthcheck.HealthCheck -} - -type apiProxy struct { - http.Server - listener net.Listener - handler proxyHandler -} - -func (p *proxyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - upstream := p.Select() - network := "tcp" - address := upstream.Name - - d, err := net.Dial(network, address) - if err != nil { - log.Errorf("Unable to establish connection to upstream %s://%s: %s", network, address, err) - http.Error(w, fmt.Sprintf("Unable to establish connection to upstream %s://%s: %s", network, address, err), 500) - return - } - hj, ok := w.(http.Hijacker) - if !ok { - log.Error("Unable to establish connection: no hijacker") - http.Error(w, "Unable to establish connection: no hijacker", 500) - return - } - nc, _, err := hj.Hijack() - if err != nil { - log.Errorf("Unable to hijack connection: %s", err) - http.Error(w, fmt.Sprintf("Unable to hijack connection: %s", err), 500) - return - } - defer nc.Close() - defer d.Close() - - err = r.Write(d) - if err != nil { - log.Errorf("Unable to copy connection to upstream %s://%s: %s", network, address, err) - http.Error(w, fmt.Sprintf("Unable to copy connection to upstream %s://%s: %s", network, address, err), 500) - return - } - - errChan := make(chan error, 2) - cp := func(dst io.Writer, src io.Reader) { - _, err := io.Copy(dst, src) - errChan <- err - } - go cp(d, nc) - go cp(nc, d) - <-errChan -} - -func (p *apiProxy) Run() { - p.handler.Start() - go func() { - p.Serve(p.listener) - }() -} - -func (p *apiProxy) Stop() { - p.handler.Stop() - p.listener.Close() -} diff --git a/plugin/kubernetes/kubernetes.go b/plugin/kubernetes/kubernetes.go index 31bf47dba..e9dcfb360 100644 --- a/plugin/kubernetes/kubernetes.go +++ b/plugin/kubernetes/kubernetes.go @@ -31,7 +31,6 @@ type Kubernetes struct { Zones []string Upstream *upstream.Upstream APIServerList []string - APIProxy *apiProxy APICertAuth string APIClientCert string APIClientKey string diff --git a/plugin/kubernetes/setup.go b/plugin/kubernetes/setup.go index ae32a904e..fe3cc2a0a 100644 --- a/plugin/kubernetes/setup.go +++ b/plugin/kubernetes/setup.go @@ -80,9 +80,6 @@ func setup(c *caddy.Controller) error { func (k *Kubernetes) RegisterKubeCache(c *caddy.Controller) { c.OnStartup(func() error { go k.APIConn.Run() - if k.APIProxy != nil { - k.APIProxy.Run() - } timeout := time.After(5 * time.Second) ticker := time.NewTicker(100 * time.Millisecond) @@ -99,9 +96,6 @@ func (k *Kubernetes) RegisterKubeCache(c *caddy.Controller) { }) c.OnShutdown(func() error { - if k.APIProxy != nil { - k.APIProxy.Stop() - } return k.APIConn.Stop() }) } |