mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-22 02:18:51 +00:00
convert rest storage to per-resource
This commit is contained in:
@@ -40,11 +40,9 @@ func (p StorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.AP
|
||||
// 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.VersionEnabled(appsapiv1.SchemeGroupVersion) {
|
||||
storageMap, err := p.v1Storage(apiResourceConfigSource, restOptionsGetter)
|
||||
if err != nil {
|
||||
return genericapiserver.APIGroupInfo{}, false, err
|
||||
}
|
||||
if storageMap, err := p.v1Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
||||
return genericapiserver.APIGroupInfo{}, false, err
|
||||
} else if len(storageMap) > 0 {
|
||||
apiGroupInfo.VersionedResourcesStorageMap[appsapiv1.SchemeGroupVersion.Version] = storageMap
|
||||
}
|
||||
|
||||
@@ -55,46 +53,56 @@ func (p StorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIReso
|
||||
storage := map[string]rest.Storage{}
|
||||
|
||||
// deployments
|
||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
if resource := "deployments"; apiResourceConfigSource.ResourceEnabled(appsapiv1.SchemeGroupVersion.WithResource(resource)) {
|
||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
}
|
||||
storage[resource] = deploymentStorage.Deployment
|
||||
storage[resource+"/status"] = deploymentStorage.Status
|
||||
storage[resource+"/scale"] = deploymentStorage.Scale
|
||||
}
|
||||
storage["deployments"] = deploymentStorage.Deployment
|
||||
storage["deployments/status"] = deploymentStorage.Status
|
||||
storage["deployments/scale"] = deploymentStorage.Scale
|
||||
|
||||
// statefulsets
|
||||
statefulSetStorage, err := statefulsetstore.NewStorage(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
if resource := "statefulsets"; apiResourceConfigSource.ResourceEnabled(appsapiv1.SchemeGroupVersion.WithResource(resource)) {
|
||||
statefulSetStorage, err := statefulsetstore.NewStorage(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
}
|
||||
storage[resource] = statefulSetStorage.StatefulSet
|
||||
storage[resource+"/status"] = statefulSetStorage.Status
|
||||
storage[resource+"/scale"] = statefulSetStorage.Scale
|
||||
}
|
||||
storage["statefulsets"] = statefulSetStorage.StatefulSet
|
||||
storage["statefulsets/status"] = statefulSetStorage.Status
|
||||
storage["statefulsets/scale"] = statefulSetStorage.Scale
|
||||
|
||||
// daemonsets
|
||||
daemonSetStorage, daemonSetStatusStorage, err := daemonsetstore.NewREST(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
if resource := "daemonsets"; apiResourceConfigSource.ResourceEnabled(appsapiv1.SchemeGroupVersion.WithResource(resource)) {
|
||||
daemonSetStorage, daemonSetStatusStorage, err := daemonsetstore.NewREST(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
}
|
||||
storage[resource] = daemonSetStorage
|
||||
storage[resource+"/status"] = daemonSetStatusStorage
|
||||
}
|
||||
storage["daemonsets"] = daemonSetStorage
|
||||
storage["daemonsets/status"] = daemonSetStatusStorage
|
||||
|
||||
// replicasets
|
||||
replicaSetStorage, err := replicasetstore.NewStorage(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
if resource := "replicasets"; apiResourceConfigSource.ResourceEnabled(appsapiv1.SchemeGroupVersion.WithResource(resource)) {
|
||||
replicaSetStorage, err := replicasetstore.NewStorage(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
}
|
||||
storage[resource] = replicaSetStorage.ReplicaSet
|
||||
storage[resource+"/status"] = replicaSetStorage.Status
|
||||
storage[resource+"/scale"] = replicaSetStorage.Scale
|
||||
}
|
||||
storage["replicasets"] = replicaSetStorage.ReplicaSet
|
||||
storage["replicasets/status"] = replicaSetStorage.Status
|
||||
storage["replicasets/scale"] = replicaSetStorage.Scale
|
||||
|
||||
// controllerrevisions
|
||||
historyStorage, err := controllerrevisionsstore.NewREST(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
if resource := "controllerrevisions"; apiResourceConfigSource.ResourceEnabled(appsapiv1.SchemeGroupVersion.WithResource(resource)) {
|
||||
historyStorage, err := controllerrevisionsstore.NewREST(restOptionsGetter)
|
||||
if err != nil {
|
||||
return storage, err
|
||||
}
|
||||
storage[resource] = historyStorage
|
||||
}
|
||||
storage["controllerrevisions"] = historyStorage
|
||||
|
||||
return storage, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user