aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/kubernetes/apiproxy.go75
-rw-r--r--plugin/kubernetes/kubernetes.go1
-rw-r--r--plugin/kubernetes/setup.go6
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()
})
}