diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index e45afbcf0..8739cbef8 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -836,127 +836,127 @@ }, { "ImportPath": "k8s.io/api/admission/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/apps/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/batch/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/coordination/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/core/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/networking/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/scheduling/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/storage/v1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "709473a40abc909fa18be410859b249f5244a9f7" + "Rev": "9b2cb0969cef9502765b9178bd1a68a7ae41857b" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/apitesting", @@ -1180,391 +1180,395 @@ }, { "ImportPath": "k8s.io/apiserver/pkg/admission", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/configuration", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/initializer", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/metrics", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/initialization", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/config", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/errors", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/generic", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/mutating", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/namespace", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/request", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/rules", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/validating", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/apiserver", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/apiserver/install", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/apiserver/v1alpha1", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/audit", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/audit/install", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/audit/v1", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/audit/v1alpha1", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/audit/v1beta1", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/apis/audit/validation", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/audit", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/audit/policy", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/authenticator", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/authenticatorfactory", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/group", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/request/anonymous", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/request/bearertoken", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/request/headerrequest", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/request/union", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/request/websocket", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/request/x509", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/serviceaccount", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/token/tokenfile", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authentication/user", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authorization/authorizer", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authorization/authorizerfactory", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authorization/path", + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/authorization/union", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/discovery", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/filters", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/handlers", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/handlers/negotiation", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/handlers/responsewriters", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/metrics", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/openapi", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/endpoints/request", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/features", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/registry/generic", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/registry/generic/registry", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/registry/generic/testing", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/registry/rest", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/registry/rest/resttest", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/filters", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/healthz", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/httplog", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/mux", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/options", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/resourceconfig", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/routes", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/routes/data/swagger", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/server/storage", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/cacher", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/errors", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/etcd", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/etcdtest", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/metrics", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/testing", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/testing/testingcert", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/util", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/etcd3", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/names", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/storagebackend", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/storagebackend/factory", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/testing", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/storage/value", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/dryrun", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/feature", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/flag", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/flushwriter", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/logs", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/openapi", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/trace", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/webhook", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/pkg/util/wsstream", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/buffered", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/log", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/truncate", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/webhook", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/plugin/pkg/authenticator/token/webhook", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/apiserver/plugin/pkg/authorizer/webhook", - "Rev": "51119110d57402e5c26ba49f5ef779823f6705b4" + "Rev": "5268626c125025e677e948fecc23b8d0c9ae59f7" }, { "ImportPath": "k8s.io/client-go/discovery", diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go index 4a795c8a5..96e7b30a3 100644 --- a/vendor/k8s.io/api/core/v1/types.go +++ b/vendor/k8s.io/api/core/v1/types.go @@ -28,6 +28,8 @@ const ( NamespaceDefault string = "default" // NamespaceAll is the default argument to specify on a context when you want to list or filter resources across all namespaces NamespaceAll string = "" + // NamespaceNodeLease is the namespace where we place node lease objects (used for node heartbeats) + NamespaceNodeLease string = "kube-node-lease" ) // Volume represents a named volume in a pod that may be accessed by any container in the pod. diff --git a/vendor/k8s.io/apiserver/pkg/authorization/authorizerfactory/delegating.go b/vendor/k8s.io/apiserver/pkg/authorization/authorizerfactory/delegating.go index 25b5aa989..c75c0a755 100644 --- a/vendor/k8s.io/apiserver/pkg/authorization/authorizerfactory/delegating.go +++ b/vendor/k8s.io/apiserver/pkg/authorization/authorizerfactory/delegating.go @@ -20,9 +20,8 @@ import ( "time" "k8s.io/apiserver/pkg/authorization/authorizer" - authorizationclient "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" - "k8s.io/apiserver/plugin/pkg/authorizer/webhook" + authorizationclient "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" ) // DelegatingAuthorizerConfig is the minimal configuration needed to create an authenticator diff --git a/vendor/k8s.io/apiserver/pkg/authorization/path/doc.go b/vendor/k8s.io/apiserver/pkg/authorization/path/doc.go new file mode 100644 index 000000000..743d945b4 --- /dev/null +++ b/vendor/k8s.io/apiserver/pkg/authorization/path/doc.go @@ -0,0 +1,18 @@ +/* +Copyright 2018 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 path contains an authorizer that allows certain paths and path prefixes. +package path diff --git a/vendor/k8s.io/apiserver/pkg/authorization/path/path.go b/vendor/k8s.io/apiserver/pkg/authorization/path/path.go new file mode 100644 index 000000000..03f524b38 --- /dev/null +++ b/vendor/k8s.io/apiserver/pkg/authorization/path/path.go @@ -0,0 +1,67 @@ +/* +Copyright 2018 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 path + +import ( + "fmt" + "strings" + + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apiserver/pkg/authorization/authorizer" +) + +// NewAuthorizer returns an authorizer which accepts a given set of paths. +// Each path is either a fully matching path or it ends in * in case a prefix match is done. A leading / is optional. +func NewAuthorizer(alwaysAllowPaths []string) (authorizer.Authorizer, error) { + var prefixes []string + paths := sets.NewString() + for _, p := range alwaysAllowPaths { + p = strings.TrimPrefix(p, "/") + if len(p) == 0 { + // matches "/" + paths.Insert(p) + continue + } + if strings.ContainsRune(p[:len(p)-1], '*') { + return nil, fmt.Errorf("only trailing * allowed in %q", p) + } + if strings.HasSuffix(p, "*") { + prefixes = append(prefixes, p[:len(p)-1]) + } else { + paths.Insert(p) + } + } + + return authorizer.AuthorizerFunc(func(a authorizer.Attributes) (authorizer.Decision, string, error) { + if a.IsResourceRequest() { + return authorizer.DecisionNoOpinion, "", nil + } + + pth := strings.TrimPrefix(a.GetPath(), "/") + if paths.Has(pth) { + return authorizer.DecisionAllow, "", nil + } + + for _, prefix := range prefixes { + if strings.HasPrefix(pth, prefix) { + return authorizer.DecisionAllow, "", nil + } + } + + return authorizer.DecisionNoOpinion, "", nil + }), nil +} diff --git a/vendor/k8s.io/apiserver/pkg/server/options/authorization.go b/vendor/k8s.io/apiserver/pkg/server/options/authorization.go index eadf3d1e1..738faa1d4 100644 --- a/vendor/k8s.io/apiserver/pkg/server/options/authorization.go +++ b/vendor/k8s.io/apiserver/pkg/server/options/authorization.go @@ -22,7 +22,10 @@ import ( "github.com/spf13/pflag" + "k8s.io/apiserver/pkg/authorization/authorizer" "k8s.io/apiserver/pkg/authorization/authorizerfactory" + "k8s.io/apiserver/pkg/authorization/path" + "k8s.io/apiserver/pkg/authorization/union" "k8s.io/apiserver/pkg/server" authorizationclient "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" "k8s.io/client-go/rest" @@ -45,6 +48,10 @@ type DelegatingAuthorizationOptions struct { // DenyCacheTTL is the length of time that an unsuccessful authorization response will be cached. // You generally want more responsive, "deny, try again" flows. DenyCacheTTL time.Duration + + // AlwaysAllowPaths are HTTP paths which are excluded from authorization. They can be plain + // paths or end in * in which case prefix-match is applied. A leading / is optional. + AlwaysAllowPaths []string } func NewDelegatingAuthorizationOptions() *DelegatingAuthorizationOptions { @@ -65,9 +72,9 @@ func (s *DelegatingAuthorizationOptions) AddFlags(fs *pflag.FlagSet) { return } - fs.StringVar(&s.RemoteKubeConfigFile, "authorization-kubeconfig", s.RemoteKubeConfigFile, ""+ + fs.StringVar(&s.RemoteKubeConfigFile, "authorization-kubeconfig", s.RemoteKubeConfigFile, "kubeconfig file pointing at the 'core' kubernetes server with enough rights to create "+ - " subjectaccessreviews.authorization.k8s.io.") + " subjectaccessreviews.authorization.k8s.io.") fs.DurationVar(&s.AllowCacheTTL, "authorization-webhook-cache-authorized-ttl", s.AllowCacheTTL, @@ -76,6 +83,10 @@ func (s *DelegatingAuthorizationOptions) AddFlags(fs *pflag.FlagSet) { fs.DurationVar(&s.DenyCacheTTL, "authorization-webhook-cache-unauthorized-ttl", s.DenyCacheTTL, "The duration to cache 'unauthorized' responses from the webhook authorizer.") + + fs.StringSliceVar(&s.AlwaysAllowPaths, "authorization-always-allow-paths", s.AlwaysAllowPaths, + "A list of HTTP paths to skip during authorization, i.e. these are authorized without "+ + "contacting the 'core' kubernetes server.") } func (s *DelegatingAuthorizationOptions) ApplyTo(c *server.AuthorizationInfo) error { @@ -84,31 +95,41 @@ func (s *DelegatingAuthorizationOptions) ApplyTo(c *server.AuthorizationInfo) er return nil } - cfg, err := s.ToAuthorizationConfig() - if err != nil { - return err - } - authorizer, err := cfg.New() + a, err := s.ToAuthorization() if err != nil { return err } - - c.Authorizer = authorizer + c.Authorizer = a return nil } -func (s *DelegatingAuthorizationOptions) ToAuthorizationConfig() (authorizerfactory.DelegatingAuthorizerConfig, error) { +func (s *DelegatingAuthorizationOptions) ToAuthorization() (authorizer.Authorizer, error) { + var authorizers []authorizer.Authorizer + + if len(s.AlwaysAllowPaths) > 0 { + a, err := path.NewAuthorizer(s.AlwaysAllowPaths) + if err != nil { + return nil, err + } + authorizers = append(authorizers, a) + } + sarClient, err := s.newSubjectAccessReview() if err != nil { - return authorizerfactory.DelegatingAuthorizerConfig{}, err + return nil, err } - - ret := authorizerfactory.DelegatingAuthorizerConfig{ + cfg := authorizerfactory.DelegatingAuthorizerConfig{ SubjectAccessReviewClient: sarClient, AllowCacheTTL: s.AllowCacheTTL, DenyCacheTTL: s.DenyCacheTTL, } - return ret, nil + a, err := cfg.New() + if err != nil { + return nil, err + } + authorizers = append(authorizers, a) + + return union.New(authorizers...), nil } func (s *DelegatingAuthorizationOptions) newSubjectAccessReview() (authorizationclient.SubjectAccessReviewInterface, error) {