mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 00:07:50 +00:00
Remove ability to re-enable serving deprecated APIs
This commit is contained in:
parent
442107b6b9
commit
3df9e86a4e
@ -251,8 +251,6 @@ var apiVersionPriorities = map[schema.GroupVersion]priority{
|
|||||||
// can reasonably expect seems questionable.
|
// can reasonably expect seems questionable.
|
||||||
{Group: "extensions", Version: "v1beta1"}: {group: 17900, version: 1},
|
{Group: "extensions", Version: "v1beta1"}: {group: 17900, version: 1},
|
||||||
// to my knowledge, nothing below here collides
|
// to my knowledge, nothing below here collides
|
||||||
{Group: "apps", Version: "v1beta1"}: {group: 17800, version: 1},
|
|
||||||
{Group: "apps", Version: "v1beta2"}: {group: 17800, version: 9},
|
|
||||||
{Group: "apps", Version: "v1"}: {group: 17800, version: 15},
|
{Group: "apps", Version: "v1"}: {group: 17800, version: 15},
|
||||||
{Group: "events.k8s.io", Version: "v1beta1"}: {group: 17750, version: 5},
|
{Group: "events.k8s.io", Version: "v1beta1"}: {group: 17750, version: 5},
|
||||||
{Group: "authentication.k8s.io", Version: "v1"}: {group: 17700, version: 15},
|
{Group: "authentication.k8s.io", Version: "v1"}: {group: 17700, version: 15},
|
||||||
|
@ -27,8 +27,6 @@ import (
|
|||||||
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
||||||
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
|
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
appsv1beta1 "k8s.io/api/apps/v1beta1"
|
|
||||||
appsv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
auditregistrationv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
|
auditregistrationv1alpha1 "k8s.io/api/auditregistration/v1alpha1"
|
||||||
authenticationv1 "k8s.io/api/authentication/v1"
|
authenticationv1 "k8s.io/api/authentication/v1"
|
||||||
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
|
authenticationv1beta1 "k8s.io/api/authentication/v1beta1"
|
||||||
@ -591,20 +589,6 @@ func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig {
|
|||||||
ret.EnableResources(
|
ret.EnableResources(
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses"),
|
extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses"),
|
||||||
)
|
)
|
||||||
// disable deprecated beta resources in extensions/v1beta1 explicitly so we have a full list of what's possible to serve
|
|
||||||
ret.DisableResources(
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("daemonsets"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("deployments"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("networkpolicies"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("podsecuritypolicies"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicasets"),
|
|
||||||
extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicationcontrollers"),
|
|
||||||
)
|
|
||||||
// disable deprecated beta versions explicitly so we have a full list of what's possible to serve
|
|
||||||
ret.DisableVersions(
|
|
||||||
appsv1beta1.SchemeGroupVersion,
|
|
||||||
appsv1beta2.SchemeGroupVersion,
|
|
||||||
)
|
|
||||||
// disable alpha versions explicitly so we have a full list of what's possible to serve
|
// disable alpha versions explicitly so we have a full list of what's possible to serve
|
||||||
ret.DisableVersions(
|
ret.DisableVersions(
|
||||||
auditregistrationv1alpha1.SchemeGroupVersion,
|
auditregistrationv1alpha1.SchemeGroupVersion,
|
||||||
|
@ -18,8 +18,6 @@ package rest
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
appsapiv1 "k8s.io/api/apps/v1"
|
appsapiv1 "k8s.io/api/apps/v1"
|
||||||
appsapiv1beta1 "k8s.io/api/apps/v1beta1"
|
|
||||||
appsapiv1beta2 "k8s.io/api/apps/v1beta2"
|
|
||||||
"k8s.io/apiserver/pkg/registry/generic"
|
"k8s.io/apiserver/pkg/registry/generic"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
genericapiserver "k8s.io/apiserver/pkg/server"
|
genericapiserver "k8s.io/apiserver/pkg/server"
|
||||||
@ -40,20 +38,6 @@ 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.
|
// 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
|
// TODO refactor the plumbing to provide the information in the APIGroupInfo
|
||||||
|
|
||||||
if apiResourceConfigSource.VersionEnabled(appsapiv1beta1.SchemeGroupVersion) {
|
|
||||||
if storageMap, err := p.v1beta1Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
|
||||||
return genericapiserver.APIGroupInfo{}, false, err
|
|
||||||
} else {
|
|
||||||
apiGroupInfo.VersionedResourcesStorageMap[appsapiv1beta1.SchemeGroupVersion.Version] = storageMap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if apiResourceConfigSource.VersionEnabled(appsapiv1beta2.SchemeGroupVersion) {
|
|
||||||
if storageMap, err := p.v1beta2Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
|
||||||
return genericapiserver.APIGroupInfo{}, false, err
|
|
||||||
} else {
|
|
||||||
apiGroupInfo.VersionedResourcesStorageMap[appsapiv1beta2.SchemeGroupVersion.Version] = storageMap
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if apiResourceConfigSource.VersionEnabled(appsapiv1.SchemeGroupVersion) {
|
if apiResourceConfigSource.VersionEnabled(appsapiv1.SchemeGroupVersion) {
|
||||||
if storageMap, err := p.v1Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
if storageMap, err := p.v1Storage(apiResourceConfigSource, restOptionsGetter); err != nil {
|
||||||
return genericapiserver.APIGroupInfo{}, false, err
|
return genericapiserver.APIGroupInfo{}, false, err
|
||||||
@ -65,86 +49,6 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
|
|||||||
return apiGroupInfo, true, nil
|
return apiGroupInfo, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
|
||||||
storage := map[string]rest.Storage{}
|
|
||||||
|
|
||||||
// deployments
|
|
||||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["deployments"] = deploymentStorage.Deployment
|
|
||||||
storage["deployments/status"] = deploymentStorage.Status
|
|
||||||
storage["deployments/rollback"] = deploymentStorage.Rollback
|
|
||||||
storage["deployments/scale"] = deploymentStorage.Scale
|
|
||||||
|
|
||||||
// statefulsets
|
|
||||||
statefulSetStorage, err := statefulsetstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["statefulsets"] = statefulSetStorage.StatefulSet
|
|
||||||
storage["statefulsets/status"] = statefulSetStorage.Status
|
|
||||||
storage["statefulsets/scale"] = statefulSetStorage.Scale
|
|
||||||
|
|
||||||
// controllerrevisions
|
|
||||||
historyStorage, err := controllerrevisionsstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["controllerrevisions"] = historyStorage
|
|
||||||
|
|
||||||
return storage, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p RESTStorageProvider) v1beta2Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
|
||||||
storage := map[string]rest.Storage{}
|
|
||||||
|
|
||||||
// deployments
|
|
||||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
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
|
|
||||||
}
|
|
||||||
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
|
|
||||||
}
|
|
||||||
storage["daemonsets"] = daemonSetStorage
|
|
||||||
storage["daemonsets/status"] = daemonSetStatusStorage
|
|
||||||
|
|
||||||
// replicasets
|
|
||||||
replicaSetStorage, err := replicasetstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
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
|
|
||||||
}
|
|
||||||
storage["controllerrevisions"] = historyStorage
|
|
||||||
|
|
||||||
return storage, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
||||||
storage := map[string]rest.Storage{}
|
storage := map[string]rest.Storage{}
|
||||||
|
|
||||||
|
@ -24,13 +24,7 @@ import (
|
|||||||
serverstorage "k8s.io/apiserver/pkg/server/storage"
|
serverstorage "k8s.io/apiserver/pkg/server/storage"
|
||||||
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
daemonstore "k8s.io/kubernetes/pkg/registry/apps/daemonset/storage"
|
|
||||||
deploymentstore "k8s.io/kubernetes/pkg/registry/apps/deployment/storage"
|
|
||||||
replicasetstore "k8s.io/kubernetes/pkg/registry/apps/replicaset/storage"
|
|
||||||
expcontrollerstore "k8s.io/kubernetes/pkg/registry/extensions/controller/storage"
|
|
||||||
ingressstore "k8s.io/kubernetes/pkg/registry/networking/ingress/storage"
|
ingressstore "k8s.io/kubernetes/pkg/registry/networking/ingress/storage"
|
||||||
networkpolicystore "k8s.io/kubernetes/pkg/registry/networking/networkpolicy/storage"
|
|
||||||
pspstore "k8s.io/kubernetes/pkg/registry/policy/podsecuritypolicy/storage"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type RESTStorageProvider struct{}
|
type RESTStorageProvider struct{}
|
||||||
@ -54,38 +48,6 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
|
|||||||
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (map[string]rest.Storage, error) {
|
||||||
storage := map[string]rest.Storage{}
|
storage := map[string]rest.Storage{}
|
||||||
|
|
||||||
// This is a dummy replication controller for scale subresource purposes.
|
|
||||||
// TODO: figure out how to enable this only if needed as a part of scale subresource GA.
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicationcontrollers")) {
|
|
||||||
controllerStorage, err := expcontrollerstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["replicationcontrollers"] = controllerStorage.ReplicationController
|
|
||||||
storage["replicationcontrollers/scale"] = controllerStorage.Scale
|
|
||||||
}
|
|
||||||
|
|
||||||
// daemonsets
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("daemonsets")) {
|
|
||||||
daemonSetStorage, daemonSetStatusStorage, err := daemonstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["daemonsets"] = daemonSetStorage.WithCategories(nil)
|
|
||||||
storage["daemonsets/status"] = daemonSetStatusStorage
|
|
||||||
}
|
|
||||||
|
|
||||||
//deployments
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("deployments")) {
|
|
||||||
deploymentStorage, err := deploymentstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["deployments"] = deploymentStorage.Deployment.WithCategories(nil)
|
|
||||||
storage["deployments/status"] = deploymentStorage.Status
|
|
||||||
storage["deployments/rollback"] = deploymentStorage.Rollback
|
|
||||||
storage["deployments/scale"] = deploymentStorage.Scale
|
|
||||||
}
|
|
||||||
// ingresses
|
// ingresses
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses")) {
|
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("ingresses")) {
|
||||||
ingressStorage, ingressStatusStorage, err := ingressstore.NewREST(restOptionsGetter)
|
ingressStorage, ingressStatusStorage, err := ingressstore.NewREST(restOptionsGetter)
|
||||||
@ -96,35 +58,6 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorag
|
|||||||
storage["ingresses/status"] = ingressStatusStorage
|
storage["ingresses/status"] = ingressStatusStorage
|
||||||
}
|
}
|
||||||
|
|
||||||
// podsecuritypolicy
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("podsecuritypolicies")) {
|
|
||||||
podSecurityPolicyStorage, err := pspstore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["podSecurityPolicies"] = podSecurityPolicyStorage
|
|
||||||
}
|
|
||||||
|
|
||||||
// replicasets
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("replicasets")) {
|
|
||||||
replicaSetStorage, err := replicasetstore.NewStorage(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["replicasets"] = replicaSetStorage.ReplicaSet.WithCategories(nil)
|
|
||||||
storage["replicasets/status"] = replicaSetStorage.Status
|
|
||||||
storage["replicasets/scale"] = replicaSetStorage.Scale
|
|
||||||
}
|
|
||||||
|
|
||||||
// networkpolicies
|
|
||||||
if apiResourceConfigSource.ResourceEnabled(extensionsapiv1beta1.SchemeGroupVersion.WithResource("networkpolicies")) {
|
|
||||||
networkExtensionsStorage, err := networkpolicystore.NewREST(restOptionsGetter)
|
|
||||||
if err != nil {
|
|
||||||
return storage, err
|
|
||||||
}
|
|
||||||
storage["networkpolicies"] = networkExtensionsStorage
|
|
||||||
}
|
|
||||||
|
|
||||||
return storage, nil
|
return storage, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user