diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index f338bfb4bd8..f9ce4ab2a6e 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -561,10 +561,10 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS // inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed // unintentionally on either side: - apiextensionsfeatures.CustomResourceValidation: {Default: true, PreRelease: featuregate.Beta}, - apiextensionsfeatures.CustomResourceSubresources: {Default: true, PreRelease: featuregate.Beta}, - apiextensionsfeatures.CustomResourceWebhookConversion: {Default: true, PreRelease: featuregate.Beta}, - apiextensionsfeatures.CustomResourcePublishOpenAPI: {Default: true, PreRelease: featuregate.Beta}, + apiextensionsfeatures.CustomResourceValidation: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, + apiextensionsfeatures.CustomResourceSubresources: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, + apiextensionsfeatures.CustomResourceWebhookConversion: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, + apiextensionsfeatures.CustomResourcePublishOpenAPI: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, apiextensionsfeatures.CustomResourceDefaulting: {Default: true, PreRelease: featuregate.Beta}, // features that enable backwards compatibility but are scheduled to be removed diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go index 7a9547cca63..178e91eedc2 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go @@ -31,12 +31,15 @@ const ( // owner: @sttts, @nikhita // alpha: v1.8 // beta: v1.9 + // GA: v1.16 // // CustomResourceValidation is a list of validation methods for CustomResources CustomResourceValidation featuregate.Feature = "CustomResourceValidation" // owner: @roycaihw, @sttts // alpha: v1.14 + // beta: v1.15 + // GA: v1.16 // // CustomResourcePublishOpenAPI enables publishing of CRD OpenAPI specs. CustomResourcePublishOpenAPI featuregate.Feature = "CustomResourcePublishOpenAPI" @@ -44,12 +47,15 @@ const ( // owner: @sttts, @nikhita // alpha: v1.10 // beta: v1.11 + // GA: v1.16 // // CustomResourceSubresources defines the subresources for CustomResources CustomResourceSubresources featuregate.Feature = "CustomResourceSubresources" // owner: @mbohlool, @roycaihw // alpha: v1.13 + // beta: v1.15 + // GA: v1.16 // // CustomResourceWebhookConversion defines the webhook conversion for Custom Resources. CustomResourceWebhookConversion featuregate.Feature = "CustomResourceWebhookConversion" @@ -69,9 +75,9 @@ func init() { // To add a new feature, define a key for it above and add it here. The features will be // available throughout Kubernetes binaries. var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{ - CustomResourceValidation: {Default: true, PreRelease: featuregate.Beta}, - CustomResourceSubresources: {Default: true, PreRelease: featuregate.Beta}, - CustomResourceWebhookConversion: {Default: true, PreRelease: featuregate.Beta}, - CustomResourcePublishOpenAPI: {Default: true, PreRelease: featuregate.Beta}, + CustomResourceValidation: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, + CustomResourceSubresources: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, + CustomResourceWebhookConversion: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, + CustomResourcePublishOpenAPI: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, CustomResourceDefaulting: {Default: true, PreRelease: featuregate.Beta}, }