From a2a64235742a1dae386068f108ac80def230dff0 Mon Sep 17 00:00:00 2001 From: deads2k Date: Thu, 15 Sep 2016 13:41:48 -0400 Subject: [PATCH] separate RESTStorage by API group --- cmd/kube-apiserver/app/server.go | 16 ++++---- .../cmd/federation-apiserver/app/server.go | 16 ++++---- hack/.linted_packages | 4 ++ pkg/genericapiserver/authorizer/authz.go | 8 ++-- pkg/genericapiserver/hooks.go | 5 +++ .../reststorage_interfaces.go | 28 ++++++++++++++ pkg/master/master.go | 16 +++----- pkg/master/storage_apps.go | 6 +-- pkg/master/storage_authentication.go | 6 +-- pkg/master/storage_authorization.go | 6 +-- pkg/master/storage_autoscaling.go | 6 +-- pkg/master/storage_batch.go | 8 ++-- pkg/master/storage_certificates.go | 6 +-- pkg/master/storage_extensions.go | 6 +-- pkg/master/storage_policy.go | 6 +-- pkg/master/storage_storage.go | 6 +-- pkg/registry/{ => rbac}/clusterrole/doc.go | 2 +- .../{ => rbac}/clusterrole/etcd/etcd.go | 2 +- .../clusterrole/policybased/storage.go | 0 .../{ => rbac}/clusterrole/registry.go | 0 .../{ => rbac}/clusterrole/strategy.go | 0 .../{ => rbac}/clusterrolebinding/doc.go | 2 +- .../clusterrolebinding/etcd/etcd.go | 2 +- .../clusterrolebinding/policybased/storage.go | 0 .../{ => rbac}/clusterrolebinding/registry.go | 0 .../{ => rbac}/clusterrolebinding/strategy.go | 0 pkg/registry/{ => rbac}/role/doc.go | 2 +- pkg/registry/{ => rbac}/role/etcd/etcd.go | 2 +- .../{ => rbac}/role/policybased/storage.go | 0 pkg/registry/{ => rbac}/role/registry.go | 0 pkg/registry/{ => rbac}/role/strategy.go | 0 pkg/registry/{ => rbac}/rolebinding/doc.go | 2 +- .../{ => rbac}/rolebinding/etcd/etcd.go | 2 +- .../rolebinding/policybased/storage.go | 0 .../{ => rbac}/rolebinding/registry.go | 0 .../{ => rbac}/rolebinding/strategy.go | 0 .../rbac/storage}/storage_rbac.go | 38 +++++++++---------- plugin/pkg/auth/authorizer/rbac/rbac.go | 8 ++-- test/integration/auth/rbac_test.go | 16 ++++---- 39 files changed, 130 insertions(+), 97 deletions(-) create mode 100644 pkg/genericapiserver/reststorage_interfaces.go rename pkg/registry/{ => rbac}/clusterrole/doc.go (89%) rename pkg/registry/{ => rbac}/clusterrole/etcd/etcd.go (97%) rename pkg/registry/{ => rbac}/clusterrole/policybased/storage.go (100%) rename pkg/registry/{ => rbac}/clusterrole/registry.go (100%) rename pkg/registry/{ => rbac}/clusterrole/strategy.go (100%) rename pkg/registry/{ => rbac}/clusterrolebinding/doc.go (96%) rename pkg/registry/{ => rbac}/clusterrolebinding/etcd/etcd.go (97%) rename pkg/registry/{ => rbac}/clusterrolebinding/policybased/storage.go (100%) rename pkg/registry/{ => rbac}/clusterrolebinding/registry.go (100%) rename pkg/registry/{ => rbac}/clusterrolebinding/strategy.go (100%) rename pkg/registry/{ => rbac}/role/doc.go (91%) rename pkg/registry/{ => rbac}/role/etcd/etcd.go (98%) rename pkg/registry/{ => rbac}/role/policybased/storage.go (100%) rename pkg/registry/{ => rbac}/role/registry.go (100%) rename pkg/registry/{ => rbac}/role/strategy.go (100%) rename pkg/registry/{ => rbac}/rolebinding/doc.go (89%) rename pkg/registry/{ => rbac}/rolebinding/etcd/etcd.go (97%) rename pkg/registry/{ => rbac}/rolebinding/policybased/storage.go (100%) rename pkg/registry/{ => rbac}/rolebinding/registry.go (100%) rename pkg/registry/{ => rbac}/rolebinding/strategy.go (100%) rename pkg/{master => registry/rbac/storage}/storage_rbac.go (75%) diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index e95021219d8..907d3c97528 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -52,15 +52,15 @@ import ( kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master" "k8s.io/kubernetes/pkg/registry/cachesize" - "k8s.io/kubernetes/pkg/registry/clusterrole" - clusterroleetcd "k8s.io/kubernetes/pkg/registry/clusterrole/etcd" - "k8s.io/kubernetes/pkg/registry/clusterrolebinding" - clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/clusterrolebinding/etcd" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/role" - roleetcd "k8s.io/kubernetes/pkg/registry/role/etcd" - "k8s.io/kubernetes/pkg/registry/rolebinding" - rolebindingetcd "k8s.io/kubernetes/pkg/registry/rolebinding/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" + clusterroleetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrole/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" + clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/role" + roleetcd "k8s.io/kubernetes/pkg/registry/rbac/role/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" + rolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/etcd" "k8s.io/kubernetes/pkg/serviceaccount" "k8s.io/kubernetes/pkg/util/wait" ) diff --git a/federation/cmd/federation-apiserver/app/server.go b/federation/cmd/federation-apiserver/app/server.go index ce50b3d2224..279838ae38d 100644 --- a/federation/cmd/federation-apiserver/app/server.go +++ b/federation/cmd/federation-apiserver/app/server.go @@ -39,15 +39,15 @@ import ( genericoptions "k8s.io/kubernetes/pkg/genericapiserver/options" genericvalidation "k8s.io/kubernetes/pkg/genericapiserver/validation" "k8s.io/kubernetes/pkg/registry/cachesize" - "k8s.io/kubernetes/pkg/registry/clusterrole" - clusterroleetcd "k8s.io/kubernetes/pkg/registry/clusterrole/etcd" - "k8s.io/kubernetes/pkg/registry/clusterrolebinding" - clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/clusterrolebinding/etcd" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/role" - roleetcd "k8s.io/kubernetes/pkg/registry/role/etcd" - "k8s.io/kubernetes/pkg/registry/rolebinding" - rolebindingetcd "k8s.io/kubernetes/pkg/registry/rolebinding/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" + clusterroleetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrole/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" + clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/role" + roleetcd "k8s.io/kubernetes/pkg/registry/rbac/role/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" + rolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/etcd" "k8s.io/kubernetes/pkg/routes" "k8s.io/kubernetes/pkg/util/wait" ) diff --git a/hack/.linted_packages b/hack/.linted_packages index fedab7da438..df0e150b262 100644 --- a/hack/.linted_packages +++ b/hack/.linted_packages @@ -134,6 +134,10 @@ pkg/registry/node/rest pkg/registry/pod/etcd pkg/registry/podsecuritypolicy/etcd pkg/registry/rangeallocation +pkg/registry/rbac/clusterrole/etcd +pkg/registry/rbac/clusterrolebinding/etcd +pkg/registry/rbac/role/etcd +pkg/registry/rbac/rolebinding/etcd pkg/registry/role/etcd pkg/registry/rolebinding/etcd pkg/registry/service/ipallocator/controller diff --git a/pkg/genericapiserver/authorizer/authz.go b/pkg/genericapiserver/authorizer/authz.go index e20480220ca..663e8efa330 100644 --- a/pkg/genericapiserver/authorizer/authz.go +++ b/pkg/genericapiserver/authorizer/authz.go @@ -25,10 +25,10 @@ import ( "k8s.io/kubernetes/pkg/auth/authorizer/abac" "k8s.io/kubernetes/pkg/auth/authorizer/union" "k8s.io/kubernetes/pkg/genericapiserver/options" - "k8s.io/kubernetes/pkg/registry/clusterrole" - "k8s.io/kubernetes/pkg/registry/clusterrolebinding" - "k8s.io/kubernetes/pkg/registry/role" - "k8s.io/kubernetes/pkg/registry/rolebinding" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" + "k8s.io/kubernetes/pkg/registry/rbac/role" + "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" "k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac" "k8s.io/kubernetes/plugin/pkg/auth/authorizer/webhook" ) diff --git a/pkg/genericapiserver/hooks.go b/pkg/genericapiserver/hooks.go index ab3e953d01b..e13582adbd9 100644 --- a/pkg/genericapiserver/hooks.go +++ b/pkg/genericapiserver/hooks.go @@ -41,6 +41,11 @@ type PostStartHookContext struct { // to this API server. That client config doesn't exist yet. } +// PostStartHookProvider is an interface in addition to provide a post start hook for the api server +type PostStartHookProvider interface { + PostStartHook() (string, PostStartHookFunc, error) +} + // AddPostStartHook allows you to add a PostStartHook. func (s *GenericAPIServer) AddPostStartHook(name string, hook PostStartHookFunc) error { if len(name) == 0 { diff --git a/pkg/genericapiserver/reststorage_interfaces.go b/pkg/genericapiserver/reststorage_interfaces.go new file mode 100644 index 00000000000..719bc783c32 --- /dev/null +++ b/pkg/genericapiserver/reststorage_interfaces.go @@ -0,0 +1,28 @@ +/* +Copyright 2016 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 genericapiserver + +import ( + "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/registry/generic" +) + +type RESTOptionsGetter func(resource unversioned.GroupResource) generic.RESTOptions + +type RESTStorageProvider interface { + NewRESTStorage(apiResourceConfigSource APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (APIGroupInfo, bool) +} diff --git a/pkg/master/master.go b/pkg/master/master.go index 2a32e32d4dc..7521cc6a54f 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -72,6 +72,7 @@ import ( podetcd "k8s.io/kubernetes/pkg/registry/pod/etcd" podtemplateetcd "k8s.io/kubernetes/pkg/registry/podtemplate/etcd" "k8s.io/kubernetes/pkg/registry/rangeallocation" + rbacstorage "k8s.io/kubernetes/pkg/registry/rbac/storage" resourcequotaetcd "k8s.io/kubernetes/pkg/registry/resourcequota/etcd" secretetcd "k8s.io/kubernetes/pkg/registry/secret/etcd" "k8s.io/kubernetes/pkg/registry/service" @@ -107,8 +108,8 @@ type Config struct { DeleteCollectionWorkers int EventTTL time.Duration KubeletClient kubeletclient.KubeletClient - // RESTStorageProviders provides RESTStorage building methods keyed by groupName - RESTStorageProviders map[string]RESTStorageProvider + // genericapiserver.RESTStorageProviders provides RESTStorage building methods keyed by groupName + RESTStorageProviders map[string]genericapiserver.RESTStorageProvider // Used to start and monitor tunneling Tunneler genericapiserver.Tunneler EnableUISupport bool @@ -170,11 +171,6 @@ type RESTStorageProvider interface { NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (groupInfo genericapiserver.APIGroupInfo, enabled bool) } -// PostStartHookProvider is an interface in addition to provide a post start hook for the api server -type PostStartHookProvider interface { - PostStartHook() (string, genericapiserver.PostStartHookFunc, error) -} - // New returns a new instance of Master from the given config. // Certain config fields will be set to a default value if unset. // Certain config fields must be specified, including: @@ -209,7 +205,7 @@ func New(c *Config) (*Master, error) { // Add some hardcoded storage for now. Append to the map. if c.RESTStorageProviders == nil { - c.RESTStorageProviders = map[string]RESTStorageProvider{} + c.RESTStorageProviders = map[string]genericapiserver.RESTStorageProvider{} } c.RESTStorageProviders[appsapi.GroupName] = AppsRESTStorageProvider{} c.RESTStorageProviders[autoscaling.GroupName] = AutoscalingRESTStorageProvider{} @@ -220,7 +216,7 @@ func New(c *Config) (*Master, error) { DisableThirdPartyControllerForTesting: m.disableThirdPartyControllerForTesting, } c.RESTStorageProviders[policy.GroupName] = PolicyRESTStorageProvider{} - c.RESTStorageProviders[rbac.GroupName] = &RBACRESTStorageProvider{AuthorizerRBACSuperUser: c.AuthorizerRBACSuperUser} + c.RESTStorageProviders[rbac.GroupName] = &rbacstorage.RESTStorageProvider{AuthorizerRBACSuperUser: c.AuthorizerRBACSuperUser} c.RESTStorageProviders[storage.GroupName] = StorageRESTStorageProvider{} c.RESTStorageProviders[authenticationv1beta1.GroupName] = AuthenticationRESTStorageProvider{Authenticator: c.Authenticator} c.RESTStorageProviders[authorization.GroupName] = AuthorizationRESTStorageProvider{Authorizer: c.Authorizer} @@ -309,7 +305,7 @@ func (m *Master) InstallAPIs(c *Config) { } glog.V(1).Infof("Enabling API group %q.", group) - if postHookProvider, ok := restStorageBuilder.(PostStartHookProvider); ok { + if postHookProvider, ok := restStorageBuilder.(genericapiserver.PostStartHookProvider); ok { name, hook, err := postHookProvider.PostStartHook() if err != nil { glog.Fatalf("Error building PostStartHook: %v", err) diff --git a/pkg/master/storage_apps.go b/pkg/master/storage_apps.go index 6be65f999dc..2ce36fbd189 100644 --- a/pkg/master/storage_apps.go +++ b/pkg/master/storage_apps.go @@ -26,9 +26,9 @@ import ( type AppsRESTStorageProvider struct{} -var _ RESTStorageProvider = &AppsRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &AppsRESTStorageProvider{} -func (p AppsRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p AppsRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(apps.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(appsapiv1alpha1.SchemeGroupVersion) { @@ -39,7 +39,7 @@ func (p AppsRESTStorageProvider) NewRESTStorage(apiResourceConfigSource generica return apiGroupInfo, true } -func (p AppsRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p AppsRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := appsapiv1alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_authentication.go b/pkg/master/storage_authentication.go index 2e28ca77863..8a35b9849b7 100644 --- a/pkg/master/storage_authentication.go +++ b/pkg/master/storage_authentication.go @@ -29,9 +29,9 @@ type AuthenticationRESTStorageProvider struct { Authenticator authenticator.Request } -var _ RESTStorageProvider = &AuthenticationRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &AuthenticationRESTStorageProvider{} -func (p AuthenticationRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p AuthenticationRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { // TODO figure out how to make the swagger generation stable, while allowing this endpoint to be disabled. // if p.Authenticator == nil { // return genericapiserver.APIGroupInfo{}, false @@ -47,7 +47,7 @@ func (p AuthenticationRESTStorageProvider) NewRESTStorage(apiResourceConfigSourc return apiGroupInfo, true } -func (p AuthenticationRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p AuthenticationRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := authenticationv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_authorization.go b/pkg/master/storage_authorization.go index ed0d7124db2..1b1d7994a54 100644 --- a/pkg/master/storage_authorization.go +++ b/pkg/master/storage_authorization.go @@ -31,9 +31,9 @@ type AuthorizationRESTStorageProvider struct { Authorizer authorizer.Authorizer } -var _ RESTStorageProvider = &AuthorizationRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &AuthorizationRESTStorageProvider{} -func (p AuthorizationRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p AuthorizationRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { if p.Authorizer == nil { return genericapiserver.APIGroupInfo{}, false } @@ -48,7 +48,7 @@ func (p AuthorizationRESTStorageProvider) NewRESTStorage(apiResourceConfigSource return apiGroupInfo, true } -func (p AuthorizationRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p AuthorizationRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := authorizationv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_autoscaling.go b/pkg/master/storage_autoscaling.go index cc628f7255e..d52e67d0181 100644 --- a/pkg/master/storage_autoscaling.go +++ b/pkg/master/storage_autoscaling.go @@ -26,9 +26,9 @@ import ( type AutoscalingRESTStorageProvider struct{} -var _ RESTStorageProvider = &AutoscalingRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &AutoscalingRESTStorageProvider{} -func (p AutoscalingRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p AutoscalingRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(autoscaling.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(autoscalingapiv1.SchemeGroupVersion) { @@ -39,7 +39,7 @@ func (p AutoscalingRESTStorageProvider) NewRESTStorage(apiResourceConfigSource g return apiGroupInfo, true } -func (p AutoscalingRESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p AutoscalingRESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := autoscalingapiv1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_batch.go b/pkg/master/storage_batch.go index 09de5faf8eb..9f8fe035a99 100644 --- a/pkg/master/storage_batch.go +++ b/pkg/master/storage_batch.go @@ -28,9 +28,9 @@ import ( type BatchRESTStorageProvider struct{} -var _ RESTStorageProvider = &BatchRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &BatchRESTStorageProvider{} -func (p BatchRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p BatchRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(batch.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(batchapiv2alpha1.SchemeGroupVersion) { @@ -45,7 +45,7 @@ func (p BatchRESTStorageProvider) NewRESTStorage(apiResourceConfigSource generic return apiGroupInfo, true } -func (p BatchRESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p BatchRESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := batchapiv1.SchemeGroupVersion storage := map[string]rest.Storage{} @@ -57,7 +57,7 @@ func (p BatchRESTStorageProvider) v1Storage(apiResourceConfigSource genericapise return storage } -func (p BatchRESTStorageProvider) v2alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p BatchRESTStorageProvider) v2alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := batchapiv2alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_certificates.go b/pkg/master/storage_certificates.go index 8ee0d9ede8d..b71fceda831 100644 --- a/pkg/master/storage_certificates.go +++ b/pkg/master/storage_certificates.go @@ -26,9 +26,9 @@ import ( type CertificatesRESTStorageProvider struct{} -var _ RESTStorageProvider = &CertificatesRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &CertificatesRESTStorageProvider{} -func (p CertificatesRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p CertificatesRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(certificates.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1alpha1.SchemeGroupVersion) { @@ -39,7 +39,7 @@ func (p CertificatesRESTStorageProvider) NewRESTStorage(apiResourceConfigSource return apiGroupInfo, true } -func (p CertificatesRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p CertificatesRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := certificatesapiv1alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_extensions.go b/pkg/master/storage_extensions.go index aa2e0ca80b6..c0ec5b74832 100644 --- a/pkg/master/storage_extensions.go +++ b/pkg/master/storage_extensions.go @@ -44,9 +44,9 @@ type ExtensionsRESTStorageProvider struct { DisableThirdPartyControllerForTesting bool } -var _ RESTStorageProvider = &ExtensionsRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &ExtensionsRESTStorageProvider{} -func (p ExtensionsRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p ExtensionsRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(extensions.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(extensionsapiv1beta1.SchemeGroupVersion) { @@ -57,7 +57,7 @@ func (p ExtensionsRESTStorageProvider) NewRESTStorage(apiResourceConfigSource ge return apiGroupInfo, true } -func (p ExtensionsRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p ExtensionsRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := extensionsapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_policy.go b/pkg/master/storage_policy.go index cfe11f79453..c12cc29d157 100644 --- a/pkg/master/storage_policy.go +++ b/pkg/master/storage_policy.go @@ -26,9 +26,9 @@ import ( type PolicyRESTStorageProvider struct{} -var _ RESTStorageProvider = &PolicyRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &PolicyRESTStorageProvider{} -func (p PolicyRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p PolicyRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(policy.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(policyapiv1alpha1.SchemeGroupVersion) { @@ -39,7 +39,7 @@ func (p PolicyRESTStorageProvider) NewRESTStorage(apiResourceConfigSource generi return apiGroupInfo, true } -func (p PolicyRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p PolicyRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := policyapiv1alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/master/storage_storage.go b/pkg/master/storage_storage.go index dcddb44dabe..3d071688d84 100644 --- a/pkg/master/storage_storage.go +++ b/pkg/master/storage_storage.go @@ -27,9 +27,9 @@ import ( type StorageRESTStorageProvider struct { } -var _ RESTStorageProvider = &StorageRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &StorageRESTStorageProvider{} -func (p StorageRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p StorageRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(storageapi.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(storageapiv1beta1.SchemeGroupVersion) { @@ -40,7 +40,7 @@ func (p StorageRESTStorageProvider) NewRESTStorage(apiResourceConfigSource gener return apiGroupInfo, true } -func (p StorageRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p StorageRESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := storageapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/clusterrole/doc.go b/pkg/registry/rbac/clusterrole/doc.go similarity index 89% rename from pkg/registry/clusterrole/doc.go rename to pkg/registry/rbac/clusterrole/doc.go index c267818d90d..248cc95b2a8 100644 --- a/pkg/registry/clusterrole/doc.go +++ b/pkg/registry/rbac/clusterrole/doc.go @@ -16,4 +16,4 @@ limitations under the License. // Package certificates provides Registry interface and its RESTStorage // implementation for storing ClusterRole objects. -package clusterrole // import "k8s.io/kubernetes/pkg/registry/clusterrole" +package clusterrole // import "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" diff --git a/pkg/registry/clusterrole/etcd/etcd.go b/pkg/registry/rbac/clusterrole/etcd/etcd.go similarity index 97% rename from pkg/registry/clusterrole/etcd/etcd.go rename to pkg/registry/rbac/clusterrole/etcd/etcd.go index 4e7b5baff9d..c5a38793230 100644 --- a/pkg/registry/clusterrole/etcd/etcd.go +++ b/pkg/registry/rbac/clusterrole/etcd/etcd.go @@ -20,9 +20,9 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/cachesize" - "k8s.io/kubernetes/pkg/registry/clusterrole" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/registry/clusterrole/policybased/storage.go b/pkg/registry/rbac/clusterrole/policybased/storage.go similarity index 100% rename from pkg/registry/clusterrole/policybased/storage.go rename to pkg/registry/rbac/clusterrole/policybased/storage.go diff --git a/pkg/registry/clusterrole/registry.go b/pkg/registry/rbac/clusterrole/registry.go similarity index 100% rename from pkg/registry/clusterrole/registry.go rename to pkg/registry/rbac/clusterrole/registry.go diff --git a/pkg/registry/clusterrole/strategy.go b/pkg/registry/rbac/clusterrole/strategy.go similarity index 100% rename from pkg/registry/clusterrole/strategy.go rename to pkg/registry/rbac/clusterrole/strategy.go diff --git a/pkg/registry/clusterrolebinding/doc.go b/pkg/registry/rbac/clusterrolebinding/doc.go similarity index 96% rename from pkg/registry/clusterrolebinding/doc.go rename to pkg/registry/rbac/clusterrolebinding/doc.go index edaa07b3a56..67b88a7ed5b 100644 --- a/pkg/registry/clusterrolebinding/doc.go +++ b/pkg/registry/rbac/clusterrolebinding/doc.go @@ -16,4 +16,4 @@ limitations under the License. // Package certificates provides Registry interface and its RESTStorage // implementation for storing ClusterRoleBinding objects. -package clusterrolebinding // import "k8s.io/kubernetes/pkg/registry/clusterrolebinding" +package clusterrolebinding // import "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" diff --git a/pkg/registry/clusterrolebinding/etcd/etcd.go b/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go similarity index 97% rename from pkg/registry/clusterrolebinding/etcd/etcd.go rename to pkg/registry/rbac/clusterrolebinding/etcd/etcd.go index 99bf7005290..4e37fc1d0ed 100644 --- a/pkg/registry/clusterrolebinding/etcd/etcd.go +++ b/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go @@ -20,9 +20,9 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/cachesize" - "k8s.io/kubernetes/pkg/registry/clusterrolebinding" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/registry/clusterrolebinding/policybased/storage.go b/pkg/registry/rbac/clusterrolebinding/policybased/storage.go similarity index 100% rename from pkg/registry/clusterrolebinding/policybased/storage.go rename to pkg/registry/rbac/clusterrolebinding/policybased/storage.go diff --git a/pkg/registry/clusterrolebinding/registry.go b/pkg/registry/rbac/clusterrolebinding/registry.go similarity index 100% rename from pkg/registry/clusterrolebinding/registry.go rename to pkg/registry/rbac/clusterrolebinding/registry.go diff --git a/pkg/registry/clusterrolebinding/strategy.go b/pkg/registry/rbac/clusterrolebinding/strategy.go similarity index 100% rename from pkg/registry/clusterrolebinding/strategy.go rename to pkg/registry/rbac/clusterrolebinding/strategy.go diff --git a/pkg/registry/role/doc.go b/pkg/registry/rbac/role/doc.go similarity index 91% rename from pkg/registry/role/doc.go rename to pkg/registry/rbac/role/doc.go index 70138264f5f..78bd7cc8fc1 100644 --- a/pkg/registry/role/doc.go +++ b/pkg/registry/rbac/role/doc.go @@ -16,4 +16,4 @@ limitations under the License. // Package certificates provides Registry interface and its RESTStorage // implementation for storing Role objects. -package role // import "k8s.io/kubernetes/pkg/registry/role" +package role // import "k8s.io/kubernetes/pkg/registry/rbac/role" diff --git a/pkg/registry/role/etcd/etcd.go b/pkg/registry/rbac/role/etcd/etcd.go similarity index 98% rename from pkg/registry/role/etcd/etcd.go rename to pkg/registry/rbac/role/etcd/etcd.go index 7443fb45f78..d7f28e30824 100644 --- a/pkg/registry/role/etcd/etcd.go +++ b/pkg/registry/rbac/role/etcd/etcd.go @@ -22,7 +22,7 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/registry/role" + "k8s.io/kubernetes/pkg/registry/rbac/role" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/registry/role/policybased/storage.go b/pkg/registry/rbac/role/policybased/storage.go similarity index 100% rename from pkg/registry/role/policybased/storage.go rename to pkg/registry/rbac/role/policybased/storage.go diff --git a/pkg/registry/role/registry.go b/pkg/registry/rbac/role/registry.go similarity index 100% rename from pkg/registry/role/registry.go rename to pkg/registry/rbac/role/registry.go diff --git a/pkg/registry/role/strategy.go b/pkg/registry/rbac/role/strategy.go similarity index 100% rename from pkg/registry/role/strategy.go rename to pkg/registry/rbac/role/strategy.go diff --git a/pkg/registry/rolebinding/doc.go b/pkg/registry/rbac/rolebinding/doc.go similarity index 89% rename from pkg/registry/rolebinding/doc.go rename to pkg/registry/rbac/rolebinding/doc.go index 88fa3e9ec44..327ff238f28 100644 --- a/pkg/registry/rolebinding/doc.go +++ b/pkg/registry/rbac/rolebinding/doc.go @@ -16,4 +16,4 @@ limitations under the License. // Package certificates provides Registry interface and its RESTStorage // implementation for storing RoleBinding objects. -package rolebinding // import "k8s.io/kubernetes/pkg/registry/rolebinding" +package rolebinding // import "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" diff --git a/pkg/registry/rolebinding/etcd/etcd.go b/pkg/registry/rbac/rolebinding/etcd/etcd.go similarity index 97% rename from pkg/registry/rolebinding/etcd/etcd.go rename to pkg/registry/rbac/rolebinding/etcd/etcd.go index 82e5eabd016..4657b387299 100644 --- a/pkg/registry/rolebinding/etcd/etcd.go +++ b/pkg/registry/rbac/rolebinding/etcd/etcd.go @@ -22,7 +22,7 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/registry/rolebinding" + "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) diff --git a/pkg/registry/rolebinding/policybased/storage.go b/pkg/registry/rbac/rolebinding/policybased/storage.go similarity index 100% rename from pkg/registry/rolebinding/policybased/storage.go rename to pkg/registry/rbac/rolebinding/policybased/storage.go diff --git a/pkg/registry/rolebinding/registry.go b/pkg/registry/rbac/rolebinding/registry.go similarity index 100% rename from pkg/registry/rolebinding/registry.go rename to pkg/registry/rbac/rolebinding/registry.go diff --git a/pkg/registry/rolebinding/strategy.go b/pkg/registry/rbac/rolebinding/strategy.go similarity index 100% rename from pkg/registry/rolebinding/strategy.go rename to pkg/registry/rbac/rolebinding/strategy.go diff --git a/pkg/master/storage_rbac.go b/pkg/registry/rbac/storage/storage_rbac.go similarity index 75% rename from pkg/master/storage_rbac.go rename to pkg/registry/rbac/storage/storage_rbac.go index d797a627ccd..2cfb7e82aaf 100644 --- a/pkg/master/storage_rbac.go +++ b/pkg/registry/rbac/storage/storage_rbac.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package master +package storage import ( "fmt" @@ -28,32 +28,32 @@ import ( rbacapiv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" rbacvalidation "k8s.io/kubernetes/pkg/apis/rbac/validation" "k8s.io/kubernetes/pkg/genericapiserver" - "k8s.io/kubernetes/pkg/registry/clusterrole" - clusterroleetcd "k8s.io/kubernetes/pkg/registry/clusterrole/etcd" - clusterrolepolicybased "k8s.io/kubernetes/pkg/registry/clusterrole/policybased" - "k8s.io/kubernetes/pkg/registry/clusterrolebinding" - clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/clusterrolebinding/etcd" - clusterrolebindingpolicybased "k8s.io/kubernetes/pkg/registry/clusterrolebinding/policybased" - "k8s.io/kubernetes/pkg/registry/role" - roleetcd "k8s.io/kubernetes/pkg/registry/role/etcd" - rolepolicybased "k8s.io/kubernetes/pkg/registry/role/policybased" - "k8s.io/kubernetes/pkg/registry/rolebinding" - rolebindingetcd "k8s.io/kubernetes/pkg/registry/rolebinding/etcd" - rolebindingpolicybased "k8s.io/kubernetes/pkg/registry/rolebinding/policybased" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" + clusterroleetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrole/etcd" + clusterrolepolicybased "k8s.io/kubernetes/pkg/registry/rbac/clusterrole/policybased" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" + clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding/etcd" + clusterrolebindingpolicybased "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding/policybased" + "k8s.io/kubernetes/pkg/registry/rbac/role" + roleetcd "k8s.io/kubernetes/pkg/registry/rbac/role/etcd" + rolepolicybased "k8s.io/kubernetes/pkg/registry/rbac/role/policybased" + "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" + rolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/etcd" + rolebindingpolicybased "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/policybased" utilruntime "k8s.io/kubernetes/pkg/util/runtime" "k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac/bootstrappolicy" ) -type RBACRESTStorageProvider struct { +type RESTStorageProvider struct { AuthorizerRBACSuperUser string postStartHook genericapiserver.PostStartHookFunc } -var _ RESTStorageProvider = &RBACRESTStorageProvider{} -var _ PostStartHookProvider = &RBACRESTStorageProvider{} +var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} +var _ genericapiserver.PostStartHookProvider = &RESTStorageProvider{} -func (p *RBACRESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p *RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(rbac.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(rbacapiv1alpha1.SchemeGroupVersion) { @@ -64,7 +64,7 @@ func (p *RBACRESTStorageProvider) NewRESTStorage(apiResourceConfigSource generic return apiGroupInfo, true } -func (p *RBACRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) map[string]rest.Storage { +func (p *RESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { version := rbacapiv1alpha1.SchemeGroupVersion once := new(sync.Once) @@ -103,7 +103,7 @@ func (p *RBACRESTStorageProvider) v1alpha1Storage(apiResourceConfigSource generi return storage } -func (p *RBACRESTStorageProvider) PostStartHook() (string, genericapiserver.PostStartHookFunc, error) { +func (p *RESTStorageProvider) PostStartHook() (string, genericapiserver.PostStartHookFunc, error) { return "rbac/bootstrap-roles", p.postStartHook, nil } diff --git a/plugin/pkg/auth/authorizer/rbac/rbac.go b/plugin/pkg/auth/authorizer/rbac/rbac.go index 215bfbd600d..739cd61e577 100644 --- a/plugin/pkg/auth/authorizer/rbac/rbac.go +++ b/plugin/pkg/auth/authorizer/rbac/rbac.go @@ -22,10 +22,10 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac/validation" "k8s.io/kubernetes/pkg/auth/authorizer" "k8s.io/kubernetes/pkg/auth/user" - "k8s.io/kubernetes/pkg/registry/clusterrole" - "k8s.io/kubernetes/pkg/registry/clusterrolebinding" - "k8s.io/kubernetes/pkg/registry/role" - "k8s.io/kubernetes/pkg/registry/rolebinding" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" + "k8s.io/kubernetes/pkg/registry/rbac/role" + "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" ) type RequestToRuleMapper interface { diff --git a/test/integration/auth/rbac_test.go b/test/integration/auth/rbac_test.go index 63102360fd4..09f8080ebfa 100644 --- a/test/integration/auth/rbac_test.go +++ b/test/integration/auth/rbac_test.go @@ -47,15 +47,15 @@ import ( "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/transport" "k8s.io/kubernetes/pkg/master" - "k8s.io/kubernetes/pkg/registry/clusterrole" - clusterroleetcd "k8s.io/kubernetes/pkg/registry/clusterrole/etcd" - "k8s.io/kubernetes/pkg/registry/clusterrolebinding" - clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/clusterrolebinding/etcd" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/role" - roleetcd "k8s.io/kubernetes/pkg/registry/role/etcd" - "k8s.io/kubernetes/pkg/registry/rolebinding" - rolebindingetcd "k8s.io/kubernetes/pkg/registry/rolebinding/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" + clusterroleetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrole/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" + clusterrolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/role" + roleetcd "k8s.io/kubernetes/pkg/registry/rbac/role/etcd" + "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" + rolebindingetcd "k8s.io/kubernetes/pkg/registry/rbac/rolebinding/etcd" "k8s.io/kubernetes/pkg/watch" "k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac" "k8s.io/kubernetes/test/integration/framework"