Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
d0d1e1dc
Commit
d0d1e1dc
authored
Jan 27, 2018
by
hzxuzhonghu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor resource_config.go thoroughly and remove useless code in registry
parent
64a12258
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
292 additions
and
454 deletions
+292
-454
master.go
pkg/master/master.go
+2
-2
master_test.go
pkg/master/master_test.go
+2
-2
storage_apiserver.go
pkg/registry/admissionregistration/rest/storage_apiserver.go
+14
-16
storage_apps.go
pkg/registry/apps/rest/storage_apps.go
+77
-80
storage_authentication.go
pkg/registry/authentication/rest/storage_authentication.go
+8
-18
storage_authorization.go
pkg/registry/authorization/rest/storage_authorization.go
+18
-30
storage_autoscaling.go
pkg/registry/autoscaling/rest/storage_autoscaling.go
+12
-16
storage_batch.go
pkg/registry/batch/rest/storage_batch.go
+18
-24
storage_certificates.go
pkg/registry/certificates/rest/storage_certificates.go
+7
-9
storage_events.go
pkg/registry/events/rest/storage_events.go
+5
-7
storage_extensions.go
pkg/registry/extensions/rest/storage_extensions.go
+31
-36
storage_settings.go
pkg/registry/networking/rest/storage_settings.go
+5
-7
storage_policy.go
pkg/registry/policy/rest/storage_policy.go
+6
-7
storage_rbac.go
pkg/registry/rbac/rest/storage_rbac.go
+25
-43
storage_scheduling.go
pkg/registry/scheduling/rest/storage_scheduling.go
+5
-7
storage_settings.go
pkg/registry/settings/rest/storage_settings.go
+5
-7
storage_storage.go
pkg/registry/storage/rest/storage_storage.go
+12
-24
apiserver.go
...k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go
+6
-7
resource_config.go
...rc/k8s.io/apiserver/pkg/server/storage/resource_config.go
+15
-87
resource_config_test.go
...s.io/apiserver/pkg/server/storage/resource_config_test.go
+5
-5
storage_factory.go
...rc/k8s.io/apiserver/pkg/server/storage/storage_factory.go
+1
-1
apiserver.go
...ing/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go
+11
-14
etcd_storage_path_test.go
test/integration/etcd/etcd_storage_path_test.go
+2
-5
No files found.
pkg/master/master.go
View file @
d0d1e1dc
...
...
@@ -316,7 +316,7 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
}
// install legacy rest storage
if
c
.
ExtraConfig
.
APIResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
apiv1
.
SchemeGroupVersion
)
{
if
c
.
ExtraConfig
.
APIResourceConfigSource
.
VersionEnabled
(
apiv1
.
SchemeGroupVersion
)
{
legacyRESTStorageProvider
:=
corerest
.
LegacyRESTStorageProvider
{
StorageFactory
:
c
.
ExtraConfig
.
StorageFactory
,
ProxyTransport
:
c
.
ExtraConfig
.
ProxyTransport
,
...
...
@@ -406,7 +406,7 @@ func (m *Master) InstallAPIs(apiResourceConfigSource serverstorage.APIResourceCo
for
_
,
restStorageBuilder
:=
range
restStorageProviders
{
groupName
:=
restStorageBuilder
.
GroupName
()
if
!
apiResourceConfigSource
.
Any
Resources
ForGroupEnabled
(
groupName
)
{
if
!
apiResourceConfigSource
.
Any
Version
ForGroupEnabled
(
groupName
)
{
glog
.
V
(
1
)
.
Infof
(
"Skipping disabled API group %q."
,
groupName
)
continue
}
...
...
pkg/master/master_test.go
View file @
d0d1e1dc
...
...
@@ -346,8 +346,8 @@ func TestAPIVersionOfDiscoveryEndpoints(t *testing.T) {
func
TestNoAlphaVersionsEnabledByDefault
(
t
*
testing
.
T
)
{
config
:=
DefaultAPIResourceConfigSource
()
for
gv
,
gvConfig
:=
range
config
.
GroupVersionResource
Configs
{
if
gvConfig
.
E
nable
&&
strings
.
Contains
(
gv
.
Version
,
"alpha"
)
{
for
gv
,
enable
:=
range
config
.
GroupVersion
Configs
{
if
e
nable
&&
strings
.
Contains
(
gv
.
Version
,
"alpha"
)
{
t
.
Errorf
(
"Alpha API version %s enabled by default"
,
gv
.
String
())
}
}
...
...
pkg/registry/admissionregistration/rest/storage_apiserver.go
View file @
d0d1e1dc
...
...
@@ -37,11 +37,11 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
admissionregistrationv1alpha1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
admissionregistrationv1alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
admissionregistrationv1alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1alpha1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
admissionregistrationv1alpha1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
admissionregistrationv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
admissionregistrationv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
admissionregistrationv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
admissionregistrationv1beta1
.
SchemeGroupVersion
}
...
...
@@ -49,26 +49,24 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1alpha1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
admissionregistrationv1alpha1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"initializerconfigurations"
))
{
s
:=
initializerconfigurationstorage
.
NewREST
(
restOptionsGetter
)
storage
[
"initializerconfigurations"
]
=
s
}
// initializerconfigurations
s
:=
initializerconfigurationstorage
.
NewREST
(
restOptionsGetter
)
storage
[
"initializerconfigurations"
]
=
s
return
storage
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
admissionregistrationv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"validatingwebhookconfigurations"
))
{
s
:=
validatingwebhookconfigurationstorage
.
NewREST
(
restOptionsGetter
)
storage
[
"validatingwebhookconfigurations"
]
=
s
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"mutatingwebhookconfigurations"
))
{
s
:=
mutatingwebhookconfigurationstorage
.
NewREST
(
restOptionsGetter
)
storage
[
"mutatingwebhookconfigurations"
]
=
s
}
// validatingwebhookconfigurations
validatingStorage
:=
validatingwebhookconfigurationstorage
.
NewREST
(
restOptionsGetter
)
storage
[
"validatingwebhookconfigurations"
]
=
validatingStorage
// mutatingwebhookconfigurations
mutatingStorage
:=
mutatingwebhookconfigurationstorage
.
NewREST
(
restOptionsGetter
)
storage
[
"mutatingwebhookconfigurations"
]
=
mutatingStorage
return
storage
}
...
...
pkg/registry/apps/rest/storage_apps.go
View file @
d0d1e1dc
...
...
@@ -40,15 +40,15 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
appsapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
appsapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
appsapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
appsapiv1beta1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
appsapiv1beta2
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
appsapiv1beta2
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
appsapiv1beta2
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta2Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
appsapiv1beta2
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
appsapiv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
appsapiv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
appsapiv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
appsapiv1
.
SchemeGroupVersion
}
...
...
@@ -57,94 +57,91 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
appsapiv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"deployments"
))
{
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/rollback"
]
=
deploymentStorage
.
Rollback
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"statefulsets"
))
{
statefulSetStorage
:=
statefulsetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"statefulsets"
]
=
statefulSetStorage
.
StatefulSet
storage
[
"statefulsets/status"
]
=
statefulSetStorage
.
Status
storage
[
"statefulsets/scale"
]
=
statefulSetStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"controllerrevisions"
))
{
historyStorage
:=
controllerrevisionsstore
.
NewREST
(
restOptionsGetter
)
storage
[
"controllerrevisions"
]
=
historyStorage
}
// deployments
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/rollback"
]
=
deploymentStorage
.
Rollback
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
// statefulsets
statefulSetStorage
:=
statefulsetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"statefulsets"
]
=
statefulSetStorage
.
StatefulSet
storage
[
"statefulsets/status"
]
=
statefulSetStorage
.
Status
storage
[
"statefulsets/scale"
]
=
statefulSetStorage
.
Scale
// controllerrevisions
historyStorage
:=
controllerrevisionsstore
.
NewREST
(
restOptionsGetter
)
storage
[
"controllerrevisions"
]
=
historyStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v1beta2Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
appsapiv1beta2
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"deployments"
))
{
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"statefulsets"
))
{
statefulSetStorage
:=
statefulsetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"statefulsets"
]
=
statefulSetStorage
.
StatefulSet
storage
[
"statefulsets/status"
]
=
statefulSetStorage
.
Status
storage
[
"statefulsets/scale"
]
=
statefulSetStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"daemonsets"
))
{
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonsetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"daemonsets"
]
=
daemonSetStorage
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"replicasets"
))
{
replicaSetStorage
:=
replicasetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
storage
[
"replicasets/scale"
]
=
replicaSetStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"controllerrevisions"
))
{
historyStorage
:=
controllerrevisionsstore
.
NewREST
(
restOptionsGetter
)
storage
[
"controllerrevisions"
]
=
historyStorage
}
// deployments
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
// statefulsets
statefulSetStorage
:=
statefulsetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"statefulsets"
]
=
statefulSetStorage
.
StatefulSet
storage
[
"statefulsets/status"
]
=
statefulSetStorage
.
Status
storage
[
"statefulsets/scale"
]
=
statefulSetStorage
.
Scale
// daemonsets
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonsetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"daemonsets"
]
=
daemonSetStorage
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
// replicasets
replicaSetStorage
:=
replicasetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
storage
[
"replicasets/scale"
]
=
replicaSetStorage
.
Scale
// controllerrevisions
historyStorage
:=
controllerrevisionsstore
.
NewREST
(
restOptionsGetter
)
storage
[
"controllerrevisions"
]
=
historyStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
appsapiv1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"deployments"
))
{
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"statefulsets"
))
{
statefulSetStorage
:=
statefulsetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"statefulsets"
]
=
statefulSetStorage
.
StatefulSet
storage
[
"statefulsets/status"
]
=
statefulSetStorage
.
Status
storage
[
"statefulsets/scale"
]
=
statefulSetStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"daemonsets"
))
{
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonsetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"daemonsets"
]
=
daemonSetStorage
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"replicasets"
))
{
replicaSetStorage
:=
replicasetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
storage
[
"replicasets/scale"
]
=
replicaSetStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"controllerrevisions"
))
{
historyStorage
:=
controllerrevisionsstore
.
NewREST
(
restOptionsGetter
)
storage
[
"controllerrevisions"
]
=
historyStorage
}
// deployments
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
// statefulsets
statefulSetStorage
:=
statefulsetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"statefulsets"
]
=
statefulSetStorage
.
StatefulSet
storage
[
"statefulsets/status"
]
=
statefulSetStorage
.
Status
storage
[
"statefulsets/scale"
]
=
statefulSetStorage
.
Scale
// daemonsets
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonsetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"daemonsets"
]
=
daemonSetStorage
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
// replicasets
replicaSetStorage
:=
replicasetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
storage
[
"replicasets/scale"
]
=
replicaSetStorage
.
Scale
// controllerrevisions
historyStorage
:=
controllerrevisionsstore
.
NewREST
(
restOptionsGetter
)
storage
[
"controllerrevisions"
]
=
historyStorage
return
storage
}
...
...
pkg/registry/authentication/rest/storage_authentication.go
View file @
d0d1e1dc
...
...
@@ -43,11 +43,11 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
authenticationv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
authenticationv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
authenticationv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
authenticationv1beta1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
authenticationv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
authenticationv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
authenticationv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
authenticationv1
.
SchemeGroupVersion
}
...
...
@@ -56,29 +56,19 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
authenticationv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
authenticationv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"tokenreviews"
))
{
tokenReviewStorage
:=
tokenreview
.
NewREST
(
p
.
Authenticator
)
storage
[
"tokenreviews"
]
=
tokenReviewStorage
}
}
// tokenreviews
tokenReviewStorage
:=
tokenreview
.
NewREST
(
p
.
Authenticator
)
storage
[
"tokenreviews"
]
=
tokenReviewStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
authenticationv1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
AnyResourcesForVersionEnabled
(
authenticationv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"tokenreviews"
))
{
tokenReviewStorage
:=
tokenreview
.
NewREST
(
p
.
Authenticator
)
storage
[
"tokenreviews"
]
=
tokenReviewStorage
}
}
// tokenreviews
tokenReviewStorage
:=
tokenreview
.
NewREST
(
p
.
Authenticator
)
storage
[
"tokenreviews"
]
=
tokenReviewStorage
return
storage
}
...
...
pkg/registry/authorization/rest/storage_authorization.go
View file @
d0d1e1dc
...
...
@@ -46,12 +46,12 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
authorizationv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
authorizationv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
authorizationv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
authorizationv1beta1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
authorizationv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
authorizationv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
authorizationv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
authorizationv1
.
SchemeGroupVersion
}
...
...
@@ -60,41 +60,29 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
authorizationv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"subjectaccessreviews"
))
{
storage
[
"subjectaccessreviews"
]
=
subjectaccessreview
.
NewREST
(
p
.
Authorizer
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"selfsubjectaccessreviews"
))
{
storage
[
"selfsubjectaccessreviews"
]
=
selfsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"localsubjectaccessreviews"
))
{
storage
[
"localsubjectaccessreviews"
]
=
localsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"selfsubjectrulesreviews"
))
{
storage
[
"selfsubjectrulesreviews"
]
=
selfsubjectrulesreview
.
NewREST
(
p
.
RuleResolver
)
}
// subjectaccessreviews
storage
[
"subjectaccessreviews"
]
=
subjectaccessreview
.
NewREST
(
p
.
Authorizer
)
// selfsubjectaccessreviews
storage
[
"selfsubjectaccessreviews"
]
=
selfsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
// localsubjectaccessreviews
storage
[
"localsubjectaccessreviews"
]
=
localsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
// selfsubjectrulesreviews
storage
[
"selfsubjectrulesreviews"
]
=
selfsubjectrulesreview
.
NewREST
(
p
.
RuleResolver
)
return
storage
}
func
(
p
RESTStorageProvider
)
v1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
authorizationv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"subjectaccessreviews"
))
{
storage
[
"subjectaccessreviews"
]
=
subjectaccessreview
.
NewREST
(
p
.
Authorizer
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"selfsubjectaccessreviews"
))
{
storage
[
"selfsubjectaccessreviews"
]
=
selfsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"localsubjectaccessreviews"
))
{
storage
[
"localsubjectaccessreviews"
]
=
localsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"selfsubjectrulesreviews"
))
{
storage
[
"selfsubjectrulesreviews"
]
=
selfsubjectrulesreview
.
NewREST
(
p
.
RuleResolver
)
}
// subjectaccessreviews
storage
[
"subjectaccessreviews"
]
=
subjectaccessreview
.
NewREST
(
p
.
Authorizer
)
// selfsubjectaccessreviews
storage
[
"selfsubjectaccessreviews"
]
=
selfsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
// localsubjectaccessreviews
storage
[
"localsubjectaccessreviews"
]
=
localsubjectaccessreview
.
NewREST
(
p
.
Authorizer
)
// selfsubjectrulesreviews
storage
[
"selfsubjectrulesreviews"
]
=
selfsubjectrulesreview
.
NewREST
(
p
.
RuleResolver
)
return
storage
}
...
...
pkg/registry/autoscaling/rest/storage_autoscaling.go
View file @
d0d1e1dc
...
...
@@ -35,11 +35,11 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
autoscalingapiv2beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
autoscalingapiv2beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
autoscalingapiv2beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v2beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
autoscalingapiv2beta1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
autoscalingapiv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
autoscalingapiv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
autoscalingapiv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
autoscalingapiv1
.
SchemeGroupVersion
}
...
...
@@ -48,26 +48,22 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
autoscalingapiv1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"horizontalpodautoscalers"
))
{
hpaStorage
,
hpaStatusStorage
:=
horizontalpodautoscalerstore
.
NewREST
(
restOptionsGetter
)
storage
[
"horizontalpodautoscalers"
]
=
hpaStorage
storage
[
"horizontalpodautoscalers/status"
]
=
hpaStatusStorage
}
// horizontalpodautoscalers
hpaStorage
,
hpaStatusStorage
:=
horizontalpodautoscalerstore
.
NewREST
(
restOptionsGetter
)
storage
[
"horizontalpodautoscalers"
]
=
hpaStorage
storage
[
"horizontalpodautoscalers/status"
]
=
hpaStatusStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v2beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
autoscalingapiv2beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"horizontalpodautoscalers"
))
{
hpaStorage
,
hpaStatusStorage
:=
horizontalpodautoscalerstore
.
NewREST
(
restOptionsGetter
)
storage
[
"horizontalpodautoscalers"
]
=
hpaStorage
storage
[
"horizontalpodautoscalers/status"
]
=
hpaStatusStorage
}
// horizontalpodautoscalers
hpaStorage
,
hpaStatusStorage
:=
horizontalpodautoscalerstore
.
NewREST
(
restOptionsGetter
)
storage
[
"horizontalpodautoscalers"
]
=
hpaStorage
storage
[
"horizontalpodautoscalers/status"
]
=
hpaStatusStorage
return
storage
}
...
...
pkg/registry/batch/rest/storage_batch.go
View file @
d0d1e1dc
...
...
@@ -37,15 +37,15 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
batchapiv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
batchapiv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
batchapiv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
batchapiv1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
batchapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
batchapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
batchapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
batchapiv1beta1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
batchapiv2alpha1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
batchapiv2alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
batchapiv2alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
v2alpha1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
batchapiv2alpha1
.
SchemeGroupVersion
}
...
...
@@ -54,38 +54,32 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
batchapiv1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"jobs"
))
{
jobsStorage
,
jobsStatusStorage
:=
jobstore
.
NewREST
(
restOptionsGetter
)
storage
[
"jobs"
]
=
jobsStorage
storage
[
"jobs/status"
]
=
jobsStatusStorage
}
// jobs
jobsStorage
,
jobsStatusStorage
:=
jobstore
.
NewREST
(
restOptionsGetter
)
storage
[
"jobs"
]
=
jobsStorage
storage
[
"jobs/status"
]
=
jobsStatusStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
batchapiv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"cronjobs"
))
{
cronJobsStorage
,
cronJobsStatusStorage
:=
cronjobstore
.
NewREST
(
restOptionsGetter
)
storage
[
"cronjobs"
]
=
cronJobsStorage
storage
[
"cronjobs/status"
]
=
cronJobsStatusStorage
}
// cronjobs
cronJobsStorage
,
cronJobsStatusStorage
:=
cronjobstore
.
NewREST
(
restOptionsGetter
)
storage
[
"cronjobs"
]
=
cronJobsStorage
storage
[
"cronjobs/status"
]
=
cronJobsStatusStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v2alpha1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
batchapiv2alpha1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"cronjobs"
))
{
cronJobsStorage
,
cronJobsStatusStorage
:=
cronjobstore
.
NewREST
(
restOptionsGetter
)
storage
[
"cronjobs"
]
=
cronJobsStorage
storage
[
"cronjobs/status"
]
=
cronJobsStatusStorage
}
// cronjobs
cronJobsStorage
,
cronJobsStatusStorage
:=
cronjobstore
.
NewREST
(
restOptionsGetter
)
storage
[
"cronjobs"
]
=
cronJobsStorage
storage
[
"cronjobs/status"
]
=
cronJobsStatusStorage
return
storage
}
...
...
pkg/registry/certificates/rest/storage_certificates.go
View file @
d0d1e1dc
...
...
@@ -34,7 +34,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
certificatesapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
certificatesapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
certificatesapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
certificatesapiv1beta1
.
SchemeGroupVersion
}
...
...
@@ -43,15 +43,13 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
certificatesapiv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"certificatesigningrequests"
))
{
csrStorage
,
csrStatusStorage
,
csrApprovalStorage
:=
certificatestore
.
NewREST
(
restOptionsGetter
)
storage
[
"certificatesigningrequests"
]
=
csrStorage
storage
[
"certificatesigningrequests/status"
]
=
csrStatusStorage
storage
[
"certificatesigningrequests/approval"
]
=
csrApprovalStorage
}
// certificatesigningrequests
csrStorage
,
csrStatusStorage
,
csrApprovalStorage
:=
certificatestore
.
NewREST
(
restOptionsGetter
)
storage
[
"certificatesigningrequests"
]
=
csrStorage
storage
[
"certificatesigningrequests/status"
]
=
csrStatusStorage
storage
[
"certificatesigningrequests/approval"
]
=
csrApprovalStorage
return
storage
}
...
...
pkg/registry/events/rest/storage_events.go
View file @
d0d1e1dc
...
...
@@ -38,7 +38,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
eventsapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
eventsapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
eventsapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
eventsapiv1beta1
.
SchemeGroupVersion
}
...
...
@@ -47,13 +47,11 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
eventsapiv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"events"
))
{
eventsStorage
:=
eventstore
.
NewREST
(
restOptionsGetter
,
uint64
(
p
.
TTL
.
Seconds
()))
storage
[
"events"
]
=
eventsStorage
}
// events
eventsStorage
:=
eventstore
.
NewREST
(
restOptionsGetter
,
uint64
(
p
.
TTL
.
Seconds
()))
storage
[
"events"
]
=
eventsStorage
return
storage
}
...
...
pkg/registry/extensions/rest/storage_extensions.go
View file @
d0d1e1dc
...
...
@@ -33,15 +33,14 @@ import (
networkpolicystore
"k8s.io/kubernetes/pkg/registry/networking/networkpolicy/storage"
)
type
RESTStorageProvider
struct
{
}
type
RESTStorageProvider
struct
{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
extensions
.
GroupName
,
legacyscheme
.
Registry
,
legacyscheme
.
Scheme
,
legacyscheme
.
ParameterCodec
,
legacyscheme
.
Codecs
)
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
extensionsapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
extensionsapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
extensionsapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
extensionsapiv1beta1
.
SchemeGroupVersion
}
...
...
@@ -50,8 +49,6 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
extensionsapiv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
// This is a dummy replication controller for scale subresource purposes.
...
...
@@ -60,37 +57,35 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorag
storage
[
"replicationcontrollers"
]
=
controllerStorage
.
ReplicationController
storage
[
"replicationcontrollers/scale"
]
=
controllerStorage
.
Scale
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"daemonsets"
))
{
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonstore
.
NewREST
(
restOptionsGetter
)
storage
[
"daemonsets"
]
=
daemonSetStorage
.
WithCategories
(
nil
)
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"deployments"
))
{
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
.
WithCategories
(
nil
)
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/rollback"
]
=
deploymentStorage
.
Rollback
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"ingresses"
))
{
ingressStorage
,
ingressStatusStorage
:=
ingressstore
.
NewREST
(
restOptionsGetter
)
storage
[
"ingresses"
]
=
ingressStorage
storage
[
"ingresses/status"
]
=
ingressStatusStorage
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"podsecuritypolicy"
))
||
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"podsecuritypolicies"
))
{
podSecurityExtensionsStorage
:=
pspstore
.
NewREST
(
restOptionsGetter
)
storage
[
"podSecurityPolicies"
]
=
podSecurityExtensionsStorage
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"replicasets"
))
{
replicaSetStorage
:=
replicasetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
.
WithCategories
(
nil
)
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
storage
[
"replicasets/scale"
]
=
replicaSetStorage
.
Scale
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"networkpolicies"
))
{
networkExtensionsStorage
:=
networkpolicystore
.
NewREST
(
restOptionsGetter
)
storage
[
"networkpolicies"
]
=
networkExtensionsStorage
}
// daemonsets
daemonSetStorage
,
daemonSetStatusStorage
:=
daemonstore
.
NewREST
(
restOptionsGetter
)
storage
[
"daemonsets"
]
=
daemonSetStorage
.
WithCategories
(
nil
)
storage
[
"daemonsets/status"
]
=
daemonSetStatusStorage
//deployments
deploymentStorage
:=
deploymentstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"deployments"
]
=
deploymentStorage
.
Deployment
.
WithCategories
(
nil
)
storage
[
"deployments/status"
]
=
deploymentStorage
.
Status
storage
[
"deployments/rollback"
]
=
deploymentStorage
.
Rollback
storage
[
"deployments/scale"
]
=
deploymentStorage
.
Scale
// ingresses
ingressStorage
,
ingressStatusStorage
:=
ingressstore
.
NewREST
(
restOptionsGetter
)
storage
[
"ingresses"
]
=
ingressStorage
storage
[
"ingresses/status"
]
=
ingressStatusStorage
// podsecuritypolicy
podSecurityExtensionsStorage
:=
pspstore
.
NewREST
(
restOptionsGetter
)
storage
[
"podSecurityPolicies"
]
=
podSecurityExtensionsStorage
// replicasets
replicaSetStorage
:=
replicasetstore
.
NewStorage
(
restOptionsGetter
)
storage
[
"replicasets"
]
=
replicaSetStorage
.
ReplicaSet
.
WithCategories
(
nil
)
storage
[
"replicasets/status"
]
=
replicaSetStorage
.
Status
storage
[
"replicasets/scale"
]
=
replicaSetStorage
.
Scale
// networkpolicies
networkExtensionsStorage
:=
networkpolicystore
.
NewREST
(
restOptionsGetter
)
storage
[
"networkpolicies"
]
=
networkExtensionsStorage
return
storage
}
...
...
pkg/registry/networking/rest/storage_settings.go
View file @
d0d1e1dc
...
...
@@ -34,7 +34,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
networkingapiv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
networkingapiv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
networkingapiv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1alpha1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
networkingapiv1
.
SchemeGroupVersion
}
...
...
@@ -43,13 +43,11 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1alpha1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
networkingapiv1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"networkpolicies"
))
{
networkPolicyStorage
:=
networkpolicystore
.
NewREST
(
restOptionsGetter
)
storage
[
"networkpolicies"
]
=
networkPolicyStorage
}
// networkpolicies
networkPolicyStorage
:=
networkpolicystore
.
NewREST
(
restOptionsGetter
)
storage
[
"networkpolicies"
]
=
networkPolicyStorage
return
storage
}
...
...
pkg/registry/policy/rest/storage_policy.go
View file @
d0d1e1dc
...
...
@@ -34,7 +34,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
policyapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
policyapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
policyapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
policyapiv1beta1
.
SchemeGroupVersion
}
...
...
@@ -42,13 +42,12 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
policyapiv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"poddisruptionbudgets"
))
{
poddisruptionbudgetStorage
,
poddisruptionbudgetStatusStorage
:=
poddisruptionbudgetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"poddisruptionbudgets"
]
=
poddisruptionbudgetStorage
storage
[
"poddisruptionbudgets/status"
]
=
poddisruptionbudgetStatusStorage
}
// poddisruptionbudgets
poddisruptionbudgetStorage
,
poddisruptionbudgetStatusStorage
:=
poddisruptionbudgetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"poddisruptionbudgets"
]
=
poddisruptionbudgetStorage
storage
[
"poddisruptionbudgets/status"
]
=
poddisruptionbudgetStatusStorage
return
storage
}
...
...
pkg/registry/rbac/rest/storage_rbac.go
View file @
d0d1e1dc
...
...
@@ -18,7 +18,6 @@ package rest
import
(
"fmt"
"sync"
"time"
"github.com/golang/glog"
...
...
@@ -71,15 +70,15 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
rbacapiv1alpha1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
rbacapiv1alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
rbacapiv1alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
storage
(
rbacapiv1alpha1
.
SchemeGroupVersion
,
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
rbacapiv1alpha1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
rbacapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
rbacapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
rbacapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
storage
(
rbacapiv1beta1
.
SchemeGroupVersion
,
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
rbacapiv1beta1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
rbacapiv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
rbacapiv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
rbacapiv1
.
SchemeGroupVersion
.
Version
]
=
p
.
storage
(
rbacapiv1
.
SchemeGroupVersion
,
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
rbacapiv1
.
SchemeGroupVersion
}
...
...
@@ -88,48 +87,31 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
storage
(
version
schema
.
GroupVersion
,
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
once
:=
new
(
sync
.
Once
)
var
(
authorizationRuleResolver
rbacregistryvalidation
.
AuthorizationRuleResolver
rolesStorage
rest
.
StandardStorage
roleBindingsStorage
rest
.
StandardStorage
clusterRolesStorage
rest
.
StandardStorage
clusterRoleBindingsStorage
rest
.
StandardStorage
storage
:=
map
[
string
]
rest
.
Storage
{}
rolesStorage
:=
rolestore
.
NewREST
(
restOptionsGetter
)
roleBindingsStorage
:=
rolebindingstore
.
NewREST
(
restOptionsGetter
)
clusterRolesStorage
:=
clusterrolestore
.
NewREST
(
restOptionsGetter
)
clusterRoleBindingsStorage
:=
clusterrolebindingstore
.
NewREST
(
restOptionsGetter
)
authorizationRuleResolver
:=
rbacregistryvalidation
.
NewDefaultRuleResolver
(
role
.
AuthorizerAdapter
{
Registry
:
role
.
NewRegistry
(
rolesStorage
)},
rolebinding
.
AuthorizerAdapter
{
Registry
:
rolebinding
.
NewRegistry
(
roleBindingsStorage
)},
clusterrole
.
AuthorizerAdapter
{
Registry
:
clusterrole
.
NewRegistry
(
clusterRolesStorage
)},
clusterrolebinding
.
AuthorizerAdapter
{
Registry
:
clusterrolebinding
.
NewRegistry
(
clusterRoleBindingsStorage
)},
)
initializeStorage
:=
func
()
{
once
.
Do
(
func
()
{
rolesStorage
=
rolestore
.
NewREST
(
restOptionsGetter
)
roleBindingsStorage
=
rolebindingstore
.
NewREST
(
restOptionsGetter
)
clusterRolesStorage
=
clusterrolestore
.
NewREST
(
restOptionsGetter
)
clusterRoleBindingsStorage
=
clusterrolebindingstore
.
NewREST
(
restOptionsGetter
)
authorizationRuleResolver
=
rbacregistryvalidation
.
NewDefaultRuleResolver
(
role
.
AuthorizerAdapter
{
Registry
:
role
.
NewRegistry
(
rolesStorage
)},
rolebinding
.
AuthorizerAdapter
{
Registry
:
rolebinding
.
NewRegistry
(
roleBindingsStorage
)},
clusterrole
.
AuthorizerAdapter
{
Registry
:
clusterrole
.
NewRegistry
(
clusterRolesStorage
)},
clusterrolebinding
.
AuthorizerAdapter
{
Registry
:
clusterrolebinding
.
NewRegistry
(
clusterRoleBindingsStorage
)},
)
})
}
// roles
storage
[
"roles"
]
=
rolepolicybased
.
NewStorage
(
rolesStorage
,
authorizationRuleResolver
)
// rolebindings
storage
[
"rolebindings"
]
=
rolebindingpolicybased
.
NewStorage
(
roleBindingsStorage
,
p
.
Authorizer
,
authorizationRuleResolver
)
// clusterroles
storage
[
"clusterroles"
]
=
clusterrolepolicybased
.
NewStorage
(
clusterRolesStorage
,
authorizationRuleResolver
)
// clusterrolebindings
storage
[
"clusterrolebindings"
]
=
clusterrolebindingpolicybased
.
NewStorage
(
clusterRoleBindingsStorage
,
p
.
Authorizer
,
authorizationRuleResolver
)
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"roles"
))
{
initializeStorage
()
storage
[
"roles"
]
=
rolepolicybased
.
NewStorage
(
rolesStorage
,
authorizationRuleResolver
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"rolebindings"
))
{
initializeStorage
()
storage
[
"rolebindings"
]
=
rolebindingpolicybased
.
NewStorage
(
roleBindingsStorage
,
p
.
Authorizer
,
authorizationRuleResolver
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"clusterroles"
))
{
initializeStorage
()
storage
[
"clusterroles"
]
=
clusterrolepolicybased
.
NewStorage
(
clusterRolesStorage
,
authorizationRuleResolver
)
}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"clusterrolebindings"
))
{
initializeStorage
()
storage
[
"clusterrolebindings"
]
=
clusterrolebindingpolicybased
.
NewStorage
(
clusterRoleBindingsStorage
,
p
.
Authorizer
,
authorizationRuleResolver
)
}
return
storage
}
...
...
pkg/registry/scheduling/rest/storage_scheduling.go
View file @
d0d1e1dc
...
...
@@ -32,7 +32,7 @@ type RESTStorageProvider struct{}
func
(
p
RESTStorageProvider
)
NewRESTStorage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
(
genericapiserver
.
APIGroupInfo
,
bool
)
{
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
scheduling
.
GroupName
,
legacyscheme
.
Registry
,
legacyscheme
.
Scheme
,
legacyscheme
.
ParameterCodec
,
legacyscheme
.
Codecs
)
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
schedulingapiv1alpha1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
schedulingapiv1alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
schedulingapiv1alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1alpha1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
schedulingapiv1alpha1
.
SchemeGroupVersion
}
...
...
@@ -41,13 +41,11 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1alpha1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
schedulingapiv1alpha1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"priorityclasses"
))
{
priorityClassStorage
:=
priorityclassstore
.
NewREST
(
restOptionsGetter
)
storage
[
"priorityclasses"
]
=
priorityClassStorage
}
// priorityclasses
priorityClassStorage
:=
priorityclassstore
.
NewREST
(
restOptionsGetter
)
storage
[
"priorityclasses"
]
=
priorityClassStorage
return
storage
}
...
...
pkg/registry/settings/rest/storage_settings.go
View file @
d0d1e1dc
...
...
@@ -34,7 +34,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
settingsapiv1alpha1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
settingsapiv1alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
settingsapiv1alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1alpha1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
settingsapiv1alpha1
.
SchemeGroupVersion
}
...
...
@@ -43,13 +43,11 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1alpha1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
settingsapiv1alpha1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"podpresets"
))
{
podPresetStorage
:=
podpresetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"podpresets"
]
=
podPresetStorage
}
// podpresets
podPresetStorage
:=
podpresetstore
.
NewREST
(
restOptionsGetter
)
storage
[
"podpresets"
]
=
podPresetStorage
return
storage
}
...
...
pkg/registry/storage/rest/storage_storage.go
View file @
d0d1e1dc
...
...
@@ -38,15 +38,15 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
storageapiv1alpha1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
storageapiv1alpha1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
storageapiv1alpha1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1alpha1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
storageapiv1alpha1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
storageapiv1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
storageapiv1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
storageapiv1beta1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1beta1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
storageapiv1beta1
.
SchemeGroupVersion
}
if
apiResourceConfigSource
.
AnyResourcesFor
VersionEnabled
(
storageapiv1
.
SchemeGroupVersion
)
{
if
apiResourceConfigSource
.
VersionEnabled
(
storageapiv1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
VersionedResourcesStorageMap
[
storageapiv1
.
SchemeGroupVersion
.
Version
]
=
p
.
v1Storage
(
apiResourceConfigSource
,
restOptionsGetter
)
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
storageapiv1
.
SchemeGroupVersion
}
...
...
@@ -55,40 +55,28 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
}
func
(
p
RESTStorageProvider
)
v1alpha1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
storageapiv1alpha1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"volumeattachments"
))
{
volumeAttachmentStorage
:=
volumeattachmentstore
.
NewREST
(
restOptionsGetter
)
storage
[
"volumeattachments"
]
=
volumeAttachmentStorage
}
// volumeattachments
volumeAttachmentStorage
:=
volumeattachmentstore
.
NewREST
(
restOptionsGetter
)
storage
[
"volumeattachments"
]
=
volumeAttachmentStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v1beta1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
storageapiv1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"storageclasses"
))
{
storageClassStorage
:=
storageclassstore
.
NewREST
(
restOptionsGetter
)
storage
[
"storageclasses"
]
=
storageClassStorage
}
// storageclasses
storageClassStorage
:=
storageclassstore
.
NewREST
(
restOptionsGetter
)
storage
[
"storageclasses"
]
=
storageClassStorage
return
storage
}
func
(
p
RESTStorageProvider
)
v1Storage
(
apiResourceConfigSource
serverstorage
.
APIResourceConfigSource
,
restOptionsGetter
generic
.
RESTOptionsGetter
)
map
[
string
]
rest
.
Storage
{
version
:=
storageapiv1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
if
apiResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"storageclasses"
))
{
storageClassStorage
:=
storageclassstore
.
NewREST
(
restOptionsGetter
)
storage
[
"storageclasses"
]
=
storageClassStorage
}
// storageclasses
storageClassStorage
:=
storageclassstore
.
NewREST
(
restOptionsGetter
)
storage
[
"storageclasses"
]
=
storageClassStorage
return
storage
}
...
...
staging/src/k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go
View file @
d0d1e1dc
...
...
@@ -134,15 +134,14 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget)
apiResourceConfig
:=
c
.
GenericConfig
.
MergedResourceConfig
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apiextensions
.
GroupName
,
Registry
,
Scheme
,
metav1
.
ParameterCodec
,
Codecs
)
if
apiResourceConfig
.
AnyResourcesFor
VersionEnabled
(
v1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfig
.
VersionEnabled
(
v1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
v1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
version
:=
v1beta1
.
SchemeGroupVersion
if
apiResourceConfig
.
ResourceEnabled
(
version
.
WithResource
(
"customresourcedefinitions"
))
{
customResourceDefintionStorage
:=
customresourcedefinition
.
NewREST
(
Scheme
,
c
.
GenericConfig
.
RESTOptionsGetter
)
storage
[
"customresourcedefinitions"
]
=
customResourceDefintionStorage
storage
[
"customresourcedefinitions/status"
]
=
customresourcedefinition
.
NewStatusREST
(
Scheme
,
customResourceDefintionStorage
)
}
// customresourcedefinitions
customResourceDefintionStorage
:=
customresourcedefinition
.
NewREST
(
Scheme
,
c
.
GenericConfig
.
RESTOptionsGetter
)
storage
[
"customresourcedefinitions"
]
=
customResourceDefintionStorage
storage
[
"customresourcedefinitions/status"
]
=
customresourcedefinition
.
NewStatusREST
(
Scheme
,
customResourceDefintionStorage
)
apiGroupInfo
.
VersionedResourcesStorageMap
[
"v1beta1"
]
=
storage
}
...
...
staging/src/k8s.io/apiserver/pkg/server/storage/resource_config.go
View file @
d0d1e1dc
...
...
@@ -18,122 +18,50 @@ package storage
import
(
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/sets"
)
// APIResourceConfigSource is the interface to determine which
versions and resource
s are enabled
// APIResourceConfigSource is the interface to determine which
groups and version
s are enabled
type
APIResourceConfigSource
interface
{
AnyVersionOfResourceEnabled
(
resource
schema
.
GroupResource
)
bool
ResourceEnabled
(
resource
schema
.
GroupVersionResource
)
bool
AnyResourcesForVersionEnabled
(
version
schema
.
GroupVersion
)
bool
AnyResourcesForGroupEnabled
(
group
string
)
bool
}
// Specifies the overrides for various API group versions.
// This can be used to enable/disable entire group versions or specific resources.
type
GroupVersionResourceConfig
struct
{
// Whether to enable or disable this entire group version. This dominates any enablement check.
// Enable=true means the group version is enabled, and EnabledResources/DisabledResources are considered.
// Enable=false means the group version is disabled, and EnabledResources/DisabledResources are not considered.
Enable
bool
// DisabledResources lists the resources that are specifically disabled for a group/version
// DisabledResources trumps EnabledResources
DisabledResources
sets
.
String
// EnabledResources lists the resources that should be enabled by default. This is a little
// unusual, but we need it for compatibility with old code for now. An empty set means
// enable all, a non-empty set means that all other resources are disabled.
EnabledResources
sets
.
String
VersionEnabled
(
version
schema
.
GroupVersion
)
bool
AnyVersionForGroupEnabled
(
group
string
)
bool
}
var
_
APIResourceConfigSource
=
&
ResourceConfig
{}
type
ResourceConfig
struct
{
GroupVersion
ResourceConfigs
map
[
schema
.
GroupVersion
]
*
GroupVersionResourceConfig
GroupVersion
Configs
map
[
schema
.
GroupVersion
]
bool
}
func
NewResourceConfig
()
*
ResourceConfig
{
return
&
ResourceConfig
{
GroupVersion
ResourceConfigs
:
map
[
schema
.
GroupVersion
]
*
GroupVersionResourceConfig
{}}
return
&
ResourceConfig
{
GroupVersion
Configs
:
map
[
schema
.
GroupVersion
]
bool
{}}
}
func
NewGroupVersionResourceConfig
()
*
GroupVersionResourceConfig
{
return
&
GroupVersionResourceConfig
{
Enable
:
true
,
DisabledResources
:
sets
.
String
{},
EnabledResources
:
sets
.
String
{}}
}
// DisableVersions disables the versions entirely. No resources (even those whitelisted in EnabledResources) will be enabled
// DisableVersions disables the versions entirely.
func
(
o
*
ResourceConfig
)
DisableVersions
(
versions
...
schema
.
GroupVersion
)
{
for
_
,
version
:=
range
versions
{
_
,
versionExists
:=
o
.
GroupVersionResourceConfigs
[
version
]
if
!
versionExists
{
o
.
GroupVersionResourceConfigs
[
version
]
=
NewGroupVersionResourceConfig
()
}
o
.
GroupVersionResourceConfigs
[
version
]
.
Enable
=
false
o
.
GroupVersionConfigs
[
version
]
=
false
}
}
func
(
o
*
ResourceConfig
)
EnableVersions
(
versions
...
schema
.
GroupVersion
)
{
for
_
,
version
:=
range
versions
{
_
,
versionExists
:=
o
.
GroupVersionResourceConfigs
[
version
]
if
!
versionExists
{
o
.
GroupVersionResourceConfigs
[
version
]
=
NewGroupVersionResourceConfig
()
}
o
.
GroupVersionResourceConfigs
[
version
]
.
Enable
=
true
o
.
GroupVersionConfigs
[
version
]
=
true
}
}
// AnyResourcesForVersionEnabled only considers matches based on exactly group/resource lexical matching. This means that
// resource renames across versions are NOT considered to be the same resource by this method. You'll need to manually check
// using the ResourceEnabled function.
func
(
o
*
ResourceConfig
)
AnyVersionOfResourceEnabled
(
resource
schema
.
GroupResource
)
bool
{
for
version
:=
range
o
.
GroupVersionResourceConfigs
{
if
version
.
Group
!=
resource
.
Group
{
continue
}
if
o
.
ResourceEnabled
(
version
.
WithResource
(
resource
.
Resource
))
{
return
true
}
func
(
o
*
ResourceConfig
)
VersionEnabled
(
version
schema
.
GroupVersion
)
bool
{
enabled
,
_
:=
o
.
GroupVersionConfigs
[
version
]
if
enabled
{
return
true
}
return
false
}
func
(
o
*
ResourceConfig
)
ResourceEnabled
(
resource
schema
.
GroupVersionResource
)
bool
{
versionOverride
,
versionExists
:=
o
.
GroupVersionResourceConfigs
[
resource
.
GroupVersion
()]
if
!
versionExists
{
return
false
}
if
!
versionOverride
.
Enable
{
return
false
}
if
versionOverride
.
DisabledResources
.
Has
(
resource
.
Resource
)
{
return
false
}
if
len
(
versionOverride
.
EnabledResources
)
>
0
{
return
versionOverride
.
EnabledResources
.
Has
(
resource
.
Resource
)
}
return
true
}
func
(
o
*
ResourceConfig
)
AnyResourcesForVersionEnabled
(
version
schema
.
GroupVersion
)
bool
{
versionOverride
,
versionExists
:=
o
.
GroupVersionResourceConfigs
[
version
]
if
!
versionExists
{
return
false
}
return
versionOverride
.
Enable
}
func
(
o
*
ResourceConfig
)
AnyResourcesForGroupEnabled
(
group
string
)
bool
{
for
version
:=
range
o
.
GroupVersionResourceConfigs
{
func
(
o
*
ResourceConfig
)
AnyVersionForGroupEnabled
(
group
string
)
bool
{
for
version
:=
range
o
.
GroupVersionConfigs
{
if
version
.
Group
==
group
{
if
o
.
AnyResourcesFor
VersionEnabled
(
version
)
{
if
o
.
VersionEnabled
(
version
)
{
return
true
}
}
...
...
staging/src/k8s.io/apiserver/pkg/server/storage/resource_config_test.go
View file @
d0d1e1dc
...
...
@@ -32,18 +32,18 @@ func TestDisabledVersion(t *testing.T) {
config
.
DisableVersions
(
g1v1
)
config
.
EnableVersions
(
g1v2
,
g2v1
)
if
config
.
AnyResourcesFor
VersionEnabled
(
g1v1
)
{
if
config
.
VersionEnabled
(
g1v1
)
{
t
.
Errorf
(
"expected disabled for %v, from %v"
,
g1v1
,
config
)
}
if
!
config
.
AnyResourcesFor
VersionEnabled
(
g1v2
)
{
if
!
config
.
VersionEnabled
(
g1v2
)
{
t
.
Errorf
(
"expected enabled for %v, from %v"
,
g1v1
,
config
)
}
if
!
config
.
AnyResourcesFor
VersionEnabled
(
g2v1
)
{
if
!
config
.
VersionEnabled
(
g2v1
)
{
t
.
Errorf
(
"expected enabled for %v, from %v"
,
g1v1
,
config
)
}
}
func
TestAny
Resources
ForGroupEnabled
(
t
*
testing
.
T
)
{
func
TestAny
Version
ForGroupEnabled
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
name
string
creator
func
()
APIResourceConfigSource
...
...
@@ -86,7 +86,7 @@ func TestAnyResourcesForGroupEnabled(t *testing.T) {
}
for
_
,
tc
:=
range
tests
{
if
e
,
a
:=
tc
.
expectedResult
,
tc
.
creator
()
.
Any
Resources
ForGroupEnabled
(
tc
.
testGroup
);
e
!=
a
{
if
e
,
a
:=
tc
.
expectedResult
,
tc
.
creator
()
.
Any
Version
ForGroupEnabled
(
tc
.
testGroup
);
e
!=
a
{
t
.
Errorf
(
"%s: expected %v, got %v"
,
tc
.
name
,
e
,
a
)
}
}
...
...
staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory.go
View file @
d0d1e1dc
...
...
@@ -240,7 +240,7 @@ func getAllResourcesAlias(resource schema.GroupResource) schema.GroupResource {
func
(
s
*
DefaultStorageFactory
)
getStorageGroupResource
(
groupResource
schema
.
GroupResource
)
schema
.
GroupResource
{
for
_
,
potentialStorageResource
:=
range
s
.
Overrides
[
groupResource
]
.
cohabitatingResources
{
if
s
.
APIResourceConfigSource
.
AnyVersion
OfResourceEnabled
(
potentialStorageResource
)
{
if
s
.
APIResourceConfigSource
.
AnyVersion
ForGroupEnabled
(
potentialStorageResource
.
Group
)
{
return
potentialStorageResource
}
}
...
...
staging/src/k8s.io/kube-aggregator/pkg/apiserver/apiserver.go
View file @
d0d1e1dc
...
...
@@ -185,26 +185,23 @@ func (c completedConfig) NewWithDelegate(delegationTarget genericapiserver.Deleg
apiResourceConfig
:=
c
.
GenericConfig
.
MergedResourceConfig
apiGroupInfo
:=
genericapiserver
.
NewDefaultAPIGroupInfo
(
apiregistration
.
GroupName
,
Registry
,
Scheme
,
metav1
.
ParameterCodec
,
Codecs
)
if
apiResourceConfig
.
AnyResourcesFor
VersionEnabled
(
v1beta1
.
SchemeGroupVersion
)
{
if
apiResourceConfig
.
VersionEnabled
(
v1beta1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
v1beta1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
version
:=
v1beta1
.
SchemeGroupVersion
if
apiResourceConfig
.
ResourceEnabled
(
version
.
WithResource
(
"apiservices"
))
{
apiServiceREST
:=
apiservicestorage
.
NewREST
(
Scheme
,
c
.
GenericConfig
.
RESTOptionsGetter
)
storage
[
"apiservices"
]
=
apiServiceREST
storage
[
"apiservices/status"
]
=
apiservicestorage
.
NewStatusREST
(
Scheme
,
apiServiceREST
)
}
// apiservices
apiServiceREST
:=
apiservicestorage
.
NewREST
(
Scheme
,
c
.
GenericConfig
.
RESTOptionsGetter
)
storage
[
"apiservices"
]
=
apiServiceREST
storage
[
"apiservices/status"
]
=
apiservicestorage
.
NewStatusREST
(
Scheme
,
apiServiceREST
)
apiGroupInfo
.
VersionedResourcesStorageMap
[
"v1beta1"
]
=
storage
}
if
apiResourceConfig
.
AnyResourcesFor
VersionEnabled
(
v1
.
SchemeGroupVersion
)
{
if
apiResourceConfig
.
VersionEnabled
(
v1
.
SchemeGroupVersion
)
{
apiGroupInfo
.
GroupMeta
.
GroupVersion
=
v1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
version
:=
v1
.
SchemeGroupVersion
if
apiResourceConfig
.
ResourceEnabled
(
version
.
WithResource
(
"apiservices"
))
{
apiServiceREST
:=
apiservicestorage
.
NewREST
(
Scheme
,
c
.
GenericConfig
.
RESTOptionsGetter
)
storage
[
"apiservices"
]
=
apiServiceREST
storage
[
"apiservices/status"
]
=
apiservicestorage
.
NewStatusREST
(
Scheme
,
apiServiceREST
)
}
// apiservices
apiServiceREST
:=
apiservicestorage
.
NewREST
(
Scheme
,
c
.
GenericConfig
.
RESTOptionsGetter
)
storage
[
"apiservices"
]
=
apiServiceREST
storage
[
"apiservices/status"
]
=
apiservicestorage
.
NewStatusREST
(
Scheme
,
apiServiceREST
)
apiGroupInfo
.
VersionedResourcesStorageMap
[
"v1"
]
=
storage
}
...
...
test/integration/etcd/etcd_storage_path_test.go
View file @
d0d1e1dc
...
...
@@ -1134,8 +1134,5 @@ func getEtcdKVClient(config storagebackend.Config) (clientv3.KV, error) {
type
allResourceSource
struct
{}
func
(
*
allResourceSource
)
AnyVersionOfResourceEnabled
(
resource
schema
.
GroupResource
)
bool
{
return
true
}
func
(
*
allResourceSource
)
AllResourcesForVersionEnabled
(
version
schema
.
GroupVersion
)
bool
{
return
true
}
func
(
*
allResourceSource
)
AnyResourcesForGroupEnabled
(
group
string
)
bool
{
return
true
}
func
(
*
allResourceSource
)
ResourceEnabled
(
resource
schema
.
GroupVersionResource
)
bool
{
return
true
}
func
(
*
allResourceSource
)
AnyResourcesForVersionEnabled
(
version
schema
.
GroupVersion
)
bool
{
return
true
}
func
(
*
allResourceSource
)
AnyVersionForGroupEnabled
(
group
string
)
bool
{
return
true
}
func
(
*
allResourceSource
)
VersionEnabled
(
version
schema
.
GroupVersion
)
bool
{
return
true
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment