mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Remove /ui/ redirect
This commit is contained in:
		@@ -336,7 +336,6 @@ func CreateKubeAPIServerConfig(s *options.ServerRunOptions, nodeTunneler tunnele
 | 
				
			|||||||
			EnableCoreControllers:   true,
 | 
								EnableCoreControllers:   true,
 | 
				
			||||||
			EventTTL:                s.EventTTL,
 | 
								EventTTL:                s.EventTTL,
 | 
				
			||||||
			KubeletClientConfig:     s.KubeletConfig,
 | 
								KubeletClientConfig:     s.KubeletConfig,
 | 
				
			||||||
			EnableUISupport:         true,
 | 
					 | 
				
			||||||
			EnableLogsSupport:       s.EnableLogsHandler,
 | 
								EnableLogsSupport:       s.EnableLogsHandler,
 | 
				
			||||||
			ProxyTransport:          proxyTransport,
 | 
								ProxyTransport:          proxyTransport,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3503,10 +3503,8 @@ run_kubectl_local_proxy_tests() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  kube::log::status "Testing kubectl local proxy"
 | 
					  kube::log::status "Testing kubectl local proxy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Make sure the UI can be proxied
 | 
					 | 
				
			||||||
  start-proxy
 | 
					  start-proxy
 | 
				
			||||||
  check-curl-proxy-code /ui 307
 | 
					  check-curl-proxy-code /api/kubernetes 404
 | 
				
			||||||
  check-curl-proxy-code /api/ui 404
 | 
					 | 
				
			||||||
  check-curl-proxy-code /api/v1/namespaces 200
 | 
					  check-curl-proxy-code /api/v1/namespaces 200
 | 
				
			||||||
  if kube::test::if_supports_resource "${metrics}" ; then
 | 
					  if kube::test::if_supports_resource "${metrics}" ; then
 | 
				
			||||||
    check-curl-proxy-code /metrics 200
 | 
					    check-curl-proxy-code /metrics 200
 | 
				
			||||||
@@ -3524,7 +3522,8 @@ run_kubectl_local_proxy_tests() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  # Custom paths let you see everything.
 | 
					  # Custom paths let you see everything.
 | 
				
			||||||
  start-proxy /custom
 | 
					  start-proxy /custom
 | 
				
			||||||
  check-curl-proxy-code /custom/ui 307
 | 
					  check-curl-proxy-code /custom/api/kubernetes 404
 | 
				
			||||||
 | 
					  check-curl-proxy-code /custom/api/v1/namespaces 200
 | 
				
			||||||
  if kube::test::if_supports_resource "${metrics}" ; then
 | 
					  if kube::test::if_supports_resource "${metrics}" ; then
 | 
				
			||||||
    check-curl-proxy-code /custom/metrics 200
 | 
					    check-curl-proxy-code /custom/metrics 200
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -109,7 +109,6 @@ type ExtraConfig struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// Used to start and monitor tunneling
 | 
						// Used to start and monitor tunneling
 | 
				
			||||||
	Tunneler          tunneler.Tunneler
 | 
						Tunneler          tunneler.Tunneler
 | 
				
			||||||
	EnableUISupport   bool
 | 
					 | 
				
			||||||
	EnableLogsSupport bool
 | 
						EnableLogsSupport bool
 | 
				
			||||||
	ProxyTransport    http.RoundTripper
 | 
						ProxyTransport    http.RoundTripper
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -269,9 +268,6 @@ func (cfg *Config) Complete(informers informers.SharedInformerFactory) Completed
 | 
				
			|||||||
		glog.Infof("Node port range unspecified. Defaulting to %v.", c.ExtraConfig.ServiceNodePortRange)
 | 
							glog.Infof("Node port range unspecified. Defaulting to %v.", c.ExtraConfig.ServiceNodePortRange)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// enable swagger UI only if general UI support is on
 | 
					 | 
				
			||||||
	c.GenericConfig.EnableSwaggerUI = c.GenericConfig.EnableSwaggerUI && c.ExtraConfig.EnableUISupport
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if c.ExtraConfig.EndpointReconcilerConfig.Interval == 0 {
 | 
						if c.ExtraConfig.EndpointReconcilerConfig.Interval == 0 {
 | 
				
			||||||
		c.ExtraConfig.EndpointReconcilerConfig.Interval = DefaultEndpointReconcilerInterval
 | 
							c.ExtraConfig.EndpointReconcilerConfig.Interval = DefaultEndpointReconcilerInterval
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -304,9 +300,6 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
 | 
				
			|||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if c.ExtraConfig.EnableUISupport {
 | 
					 | 
				
			||||||
		routes.UIRedirect{}.Install(s.Handler.NonGoRestfulMux)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if c.ExtraConfig.EnableLogsSupport {
 | 
						if c.ExtraConfig.EnableLogsSupport {
 | 
				
			||||||
		routes.Logs{}.Install(s.Handler.GoRestfulContainer)
 | 
							routes.Logs{}.Install(s.Handler.GoRestfulContainer)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,13 +10,9 @@ go_library(
 | 
				
			|||||||
    srcs = [
 | 
					    srcs = [
 | 
				
			||||||
        "doc.go",
 | 
					        "doc.go",
 | 
				
			||||||
        "logs.go",
 | 
					        "logs.go",
 | 
				
			||||||
        "ui.go",
 | 
					 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    importpath = "k8s.io/kubernetes/pkg/routes",
 | 
					    importpath = "k8s.io/kubernetes/pkg/routes",
 | 
				
			||||||
    deps = [
 | 
					    deps = ["//vendor/github.com/emicklei/go-restful:go_default_library"],
 | 
				
			||||||
        "//vendor/github.com/emicklei/go-restful:go_default_library",
 | 
					 | 
				
			||||||
        "//vendor/k8s.io/apiserver/pkg/server/mux:go_default_library",
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
filegroup(
 | 
					filegroup(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,36 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
Copyright 2014 The Kubernetes Authors.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 | 
				
			||||||
you may not use this file except in compliance with the License.
 | 
					 | 
				
			||||||
You may obtain a copy of the License at
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    http://www.apache.org/licenses/LICENSE-2.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Unless required by applicable law or agreed to in writing, software
 | 
					 | 
				
			||||||
distributed under the License is distributed on an "AS IS" BASIS,
 | 
					 | 
				
			||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
					 | 
				
			||||||
See the License for the specific language governing permissions and
 | 
					 | 
				
			||||||
limitations under the License.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
package routes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"net/http"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	"k8s.io/apiserver/pkg/server/mux"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const dashboardPath = "/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// UIRedirect redirects /ui to the kube-ui proxy path.
 | 
					 | 
				
			||||||
type UIRedirect struct{}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (r UIRedirect) Install(c *mux.PathRecorderMux) {
 | 
					 | 
				
			||||||
	handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 | 
					 | 
				
			||||||
		http.Redirect(w, r, dashboardPath, http.StatusTemporaryRedirect)
 | 
					 | 
				
			||||||
	})
 | 
					 | 
				
			||||||
	c.Handle("/ui", handler)
 | 
					 | 
				
			||||||
	c.HandlePrefix("/ui/", handler)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -86,16 +86,5 @@ var _ = SIGDescribe("Kubernetes Dashboard", func() {
 | 
				
			|||||||
			return status == http.StatusOK, nil
 | 
								return status == http.StatusOK, nil
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
		Expect(err).NotTo(HaveOccurred())
 | 
							Expect(err).NotTo(HaveOccurred())
 | 
				
			||||||
 | 
					 | 
				
			||||||
		By("Checking that the ApiServer /ui endpoint redirects to a valid server.")
 | 
					 | 
				
			||||||
		var status int
 | 
					 | 
				
			||||||
		err = f.ClientSet.CoreV1().RESTClient().Get().
 | 
					 | 
				
			||||||
			AbsPath(uiRedirect).
 | 
					 | 
				
			||||||
			Timeout(framework.SingleCallTimeout).
 | 
					 | 
				
			||||||
			Do().
 | 
					 | 
				
			||||||
			StatusCode(&status).
 | 
					 | 
				
			||||||
			Error()
 | 
					 | 
				
			||||||
		Expect(err).NotTo(HaveOccurred())
 | 
					 | 
				
			||||||
		Expect(status).To(Equal(http.StatusOK), "Unexpected status from /ui")
 | 
					 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,7 +32,6 @@ func TestMasterExportsSymbols(t *testing.T) {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
		ExtraConfig: master.ExtraConfig{
 | 
							ExtraConfig: master.ExtraConfig{
 | 
				
			||||||
			EnableCoreControllers: false,
 | 
								EnableCoreControllers: false,
 | 
				
			||||||
			EnableUISupport:       false,
 | 
					 | 
				
			||||||
			EnableLogsSupport:     false,
 | 
								EnableLogsSupport:     false,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user