diff --git a/docs/man/man1/kubectl-proxy.1 b/docs/man/man1/kubectl-proxy.1 index a8ff3050848..4934970e8e6 100644 --- a/docs/man/man1/kubectl-proxy.1 +++ b/docs/man/man1/kubectl-proxy.1 @@ -51,7 +51,7 @@ The above lets you 'curl localhost:8001/custom/api/v1/pods' The IP address on which to serve on. .PP -\fB\-\-api\-prefix\fP="/api/" +\fB\-\-api\-prefix\fP="/" Prefix to serve the proxied API under. .PP diff --git a/docs/user-guide/kubectl/kubectl_proxy.md b/docs/user-guide/kubectl/kubectl_proxy.md index eb24547fb55..19e3a5f59d3 100644 --- a/docs/user-guide/kubectl/kubectl_proxy.md +++ b/docs/user-guide/kubectl/kubectl_proxy.md @@ -80,7 +80,7 @@ $ kubectl proxy --api-prefix=/k8s-api --accept-hosts="^localhost$,^127\\.0\\.0\\.1$,^\\[::1\\]$": Regular expression for hosts that the proxy should accept. --accept-paths="^/.*": Regular expression for paths that the proxy should accept. --address="127.0.0.1": The IP address on which to serve on. - --api-prefix="/api/": Prefix to serve the proxied API under. + --api-prefix="/": Prefix to serve the proxied API under. --disable-filter[=false]: If true, disable request filtering in the proxy. This is dangerous, and can leave you vulnerable to XSRF attacks, when used with an accessible port. -p, --port=8001: The port on which to run the proxy. Set to 0 to pick a random port. --reject-methods="POST,PUT,PATCH": Regular expression for HTTP methods that the proxy should reject. diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh index 85586ecea9d..341880dd3e5 100755 --- a/hack/test-cmd.sh +++ b/hack/test-cmd.sh @@ -163,6 +163,7 @@ KUBE_API_VERSIONS="v1,extensions/v1beta1" "${KUBE_OUTPUT_HOSTBIN}/kube-apiserver --kubelet-port=${KUBELET_PORT} \ --runtime-config=api/v1 \ --cert-dir="${TMPDIR:-/tmp/}" \ + --runtime_config="extensions/v1beta1=true" \ --service-cluster-ip-range="10.0.0.0/24" 1>&2 & APISERVER_PID=$! @@ -217,22 +218,20 @@ runTests() { ####################### # Make sure the UI can be proxied - start-proxy --api-prefix=/ + start-proxy check-curl-proxy-code /ui 301 check-curl-proxy-code /metrics 200 - if [[ -n "${version}" ]]; then - check-curl-proxy-code /api/${version}/namespaces 200 - fi - stop-proxy - - # Default proxy locks you into the /api path (legacy behavior) - start-proxy - check-curl-proxy-code /ui 404 - check-curl-proxy-code /metrics 404 check-curl-proxy-code /api/ui 404 if [[ -n "${version}" ]]; then check-curl-proxy-code /api/${version}/namespaces 200 fi + check-curl-proxy-code /healthz/ 200 + stop-proxy + + # Make sure the in-development api is accessible by default + start-proxy + check-curl-proxy-code /apis 200 + check-curl-proxy-code /apis/extensions/ 200 stop-proxy # Custom paths let you see everything. diff --git a/pkg/kubectl/cmd/proxy.go b/pkg/kubectl/cmd/proxy.go index 5ec9114f16d..130e2ae5967 100644 --- a/pkg/kubectl/cmd/proxy.go +++ b/pkg/kubectl/cmd/proxy.go @@ -71,7 +71,7 @@ The above lets you 'curl localhost:8001/custom/api/v1/pods' } cmd.Flags().StringP("www", "w", "", "Also serve static files from the given directory under the specified prefix.") cmd.Flags().StringP("www-prefix", "P", "/static/", "Prefix to serve static files under, if static file directory is specified.") - cmd.Flags().StringP("api-prefix", "", "/api/", "Prefix to serve the proxied API under.") + cmd.Flags().StringP("api-prefix", "", "/", "Prefix to serve the proxied API under.") cmd.Flags().String("accept-paths", kubectl.DefaultPathAcceptRE, "Regular expression for paths that the proxy should accept.") cmd.Flags().String("reject-paths", kubectl.DefaultPathRejectRE, "Regular expression for paths that the proxy should reject.") cmd.Flags().String("accept-hosts", kubectl.DefaultHostAcceptRE, "Regular expression for hosts that the proxy should accept.")