package kubernetes import ( "net/url" restful "github.com/emicklei/go-restful" "github.com/golang/glog" kclient "k8s.io/kubernetes/pkg/client" "github.com/openshift/origin/pkg/util/httpproxy" ) type ProxyConfig struct { ClientConfig *kclient.Config } func (c *ProxyConfig) InstallAPI(container *restful.Container) []string { kubeAddr, err := url.Parse(c.ClientConfig.Host) if err != nil { glog.Fatal(err) } proxy, err := httpproxy.NewUpgradeAwareSingleHostReverseProxy(c.ClientConfig, kubeAddr) if err != nil { glog.Fatalf("Unable to initialize the Kubernetes proxy: %v", err) } container.Handle("/api/", proxy) return []string{ "Started Kubernetes proxy at %s/api/", } }