mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #130121 from yongruilin/featuregate-unversion-clean
[compatibility version] clean using unversioned featuregate
This commit is contained in:
commit
67bdb110b4
@ -43,7 +43,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
# ensure all generic features are added in alphabetic order
|
# ensure all generic features are added in alphabetic order
|
||||||
lines=$(git grep 'genericfeatures[.].*:' -- pkg/features/versioned_kube_features.go)
|
lines=$(git grep 'genericfeatures[.].*:' -- pkg/features/kube_features.go)
|
||||||
sorted_lines=$(echo "$lines" | sort -f)
|
sorted_lines=$(echo "$lines" | sort -f)
|
||||||
if [[ "$lines" != "$sorted_lines" ]]; then
|
if [[ "$lines" != "$sorted_lines" ]]; then
|
||||||
echo "Generic features in pkg/features/kube_features.go not sorted" >&2
|
echo "Generic features in pkg/features/kube_features.go not sorted" >&2
|
||||||
|
@ -17,11 +17,15 @@ limitations under the License.
|
|||||||
package features
|
package features
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features"
|
||||||
"k8s.io/apimachinery/pkg/util/runtime"
|
"k8s.io/apimachinery/pkg/util/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/util/version"
|
||||||
|
genericfeatures "k8s.io/apiserver/pkg/features"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
clientfeatures "k8s.io/client-go/features"
|
clientfeatures "k8s.io/client-go/features"
|
||||||
"k8s.io/component-base/featuregate"
|
"k8s.io/component-base/featuregate"
|
||||||
zpagesfeatures "k8s.io/component-base/zpages/features"
|
zpagesfeatures "k8s.io/component-base/zpages/features"
|
||||||
|
kcmfeatures "k8s.io/controller-manager/pkg/features"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -953,8 +957,871 @@ const (
|
|||||||
DisableCPUQuotaWithExclusiveCPUs featuregate.Feature = "DisableCPUQuotaWithExclusiveCPUs"
|
DisableCPUQuotaWithExclusiveCPUs featuregate.Feature = "DisableCPUQuotaWithExclusiveCPUs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// defaultVersionedKubernetesFeatureGates consists of all known Kubernetes-specific feature keys with VersionedSpecs.
|
||||||
|
// To add a new feature, define a key for it in pkg/features/kube_features.go and add it here. The features will be
|
||||||
|
// available throughout Kubernetes binaries.
|
||||||
|
// For features available via specific kubernetes components like apiserver,
|
||||||
|
// cloud-controller-manager, etc find the respective kube_features.go file
|
||||||
|
// (eg:staging/src/apiserver/pkg/features/kube_features.go), define the versioned
|
||||||
|
// feature gate there, and reference it in this file.
|
||||||
|
// To support n-3 compatibility version, features may only be removed 3 releases after graduation.
|
||||||
|
//
|
||||||
|
// Entries are alphabetized.
|
||||||
|
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||||
|
AllowDNSOnlyNodeCSR: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
AllowInsecureKubeletCertificateSigningRequests: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
AllowOverwriteTerminationGracePeriodSeconds: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
AllowServiceLBStatusOnNonLB: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated, LockToDefault: true}, // remove in 1.35
|
||||||
|
},
|
||||||
|
|
||||||
|
AnyVolumeDataSource: {
|
||||||
|
{Version: version.MustParse("1.18"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.33 -> remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
AuthorizeNodeWithSelectors: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
kcmfeatures.CloudControllerManagerWebhook: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
ClusterTrustBundle: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
ClusterTrustBundleProjection: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
ContainerCheckpoint: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
CPUCFSQuotaPeriod: {
|
||||||
|
{Version: version.MustParse("1.12"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
CPUManager: {
|
||||||
|
{Version: version.MustParse("1.8"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.10"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.26
|
||||||
|
},
|
||||||
|
|
||||||
|
CPUManagerPolicyAlphaOptions: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
CPUManagerPolicyBetaOptions: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
CPUManagerPolicyOptions: {
|
||||||
|
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.23"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
CronJobsScheduledAnnotation: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.35
|
||||||
|
},
|
||||||
|
|
||||||
|
// inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed
|
||||||
|
// unintentionally on either side:
|
||||||
|
apiextensionsfeatures.CRDValidationRatcheting: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
CrossNamespaceVolumeDataSource: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
CSIMigrationPortworx: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta}, // On by default (requires Portworx CSI driver)
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
CSIVolumeHealth: {
|
||||||
|
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
// inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed
|
||||||
|
// unintentionally on either side:
|
||||||
|
apiextensionsfeatures.CustomResourceFieldSelectors: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
|
||||||
|
},
|
||||||
|
|
||||||
|
DeclarativeValidation: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
DeclarativeValidationTakeover: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
DeploymentPodReplacementPolicy: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
DevicePluginCDIDevices: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33
|
||||||
|
},
|
||||||
|
|
||||||
|
DisableAllocatorDualWrite: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta}, // remove after MultiCIDRServiceAllocator is GA
|
||||||
|
},
|
||||||
|
|
||||||
|
DisableNodeKubeProxyVersion: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
DRAAdminAccess: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
DRADeviceTaints: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
DRAPrioritizedList: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
DRAResourceClaimDeviceStatus: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
DynamicResourceAllocation: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletCrashLoopBackOffMax: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
ElasticIndexedJob: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.31, remove in 1.32
|
||||||
|
},
|
||||||
|
|
||||||
|
EventedPLEG: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
ExecProbeTimeout: {
|
||||||
|
{Version: version.MustParse("1.20"), Default: true, PreRelease: featuregate.GA}, // lock to default and remove after v1.22 based on KEP #1972 update
|
||||||
|
},
|
||||||
|
|
||||||
|
ExternalServiceAccountTokenSigner: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.AggregatedDiscoveryRemoveBetaType: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: false, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.AllowParsingUserUIDFromCertAuth: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.AllowUnsafeMalformedObjectDeletion: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.AnonymousAuthConfigurableEndpoints: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.APIResponseCompression: {
|
||||||
|
{Version: version.MustParse("1.8"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.16"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.APIServerIdentity: {
|
||||||
|
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.APIServerTracing: {
|
||||||
|
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.APIServingWithRoutine: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.AuthorizeWithSelectors: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.BtreeWatchCache: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.CBORServingAndStorage: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.ConcurrentWatchObjectDecode: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.ConsistentListFromCache: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.CoordinatedLeaderElection: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.KMSv1: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Deprecated},
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.ListFromCacheSnapshot: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.MutatingAdmissionPolicy: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.OpenAPIEnums: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.RemoteRequestHeaderUID: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.ResilientWatchCacheInitialization: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.RetryGenerateName: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.SeparateCacheWatchRPC: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.StorageVersionAPI: {
|
||||||
|
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.StorageVersionHash: {
|
||||||
|
{Version: version.MustParse("1.14"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.15"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.StrictCostEnforcementForVAP: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.StrictCostEnforcementForWebhooks: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.StructuredAuthenticationConfiguration: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.StructuredAuthorizationConfiguration: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.UnauthenticatedHTTP2DOSMitigation: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.WatchCacheInitializationPostStartHook: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.WatchFromStorageWithoutResourceVersion: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
genericfeatures.WatchList: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
GitRepoVolumeDriver: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
GracefulNodeShutdown: {
|
||||||
|
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.21"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
GracefulNodeShutdownBasedOnPodPriority: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
HonorPVReclaimPolicy: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
HPAScaleToZero: {
|
||||||
|
{Version: version.MustParse("1.16"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
ImageMaximumGCAge: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
ImageVolume: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
InPlacePodVerticalScaling: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
InPlacePodVerticalScalingAllocatedStatus: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
InPlacePodVerticalScalingExclusiveCPUs: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
InTreePluginPortworxUnregister: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha}, // remove it along with CSIMigrationPortworx in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
JobBackoffLimitPerIndex: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
JobManagedBy: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
JobPodReplacementPolicy: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
JobSuccessPolicy: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletCgroupDriverFromCRI: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletEnsureSecretPulledImages: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletFineGrainedAuthz: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletInUserNamespace: {
|
||||||
|
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletPodResourcesDynamicResources: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletPodResourcesGet: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletRegistrationGetOnExistsOnly: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletSeparateDiskGC: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletServiceAccountTokenForCredentialProviders: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
KubeletTracing: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
LegacySidecarContainers: {
|
||||||
|
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
LoadBalancerIPMode: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
LocalStorageCapacityIsolationFSQuotaMonitoring: {
|
||||||
|
{Version: version.MustParse("1.15"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
LogarithmicScaleDown: {
|
||||||
|
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
MatchLabelKeysInPodAffinity: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
MatchLabelKeysInPodTopologySpread: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
MaxUnavailableStatefulSet: {
|
||||||
|
{Version: version.MustParse("1.24"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
MemoryManager: {
|
||||||
|
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
MemoryQoS: {
|
||||||
|
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
MultiCIDRServiceAllocator: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: false}, // remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
MutableCSINodeAllocatableCount: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
NFTablesProxyMode: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
NodeInclusionPolicyInPodTopologySpread: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
NodeLogQuery: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
NodeSwap: {
|
||||||
|
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
OrderedNamespaceDeletion: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodAndContainerStatsFromCRI: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodDeletionCost: {
|
||||||
|
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodDisruptionConditions: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33
|
||||||
|
},
|
||||||
|
|
||||||
|
PodIndexLabel: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.35
|
||||||
|
},
|
||||||
|
|
||||||
|
PodLevelResources: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodLifecycleSleepAction: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodReadyToStartContainersCondition: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodLifecycleSleepActionAllowZero: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodObservedGenerationTracking: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodSchedulingReadiness: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.30; remove in 1.32
|
||||||
|
},
|
||||||
|
|
||||||
|
PortForwardWebsockets: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
PreferSameTrafficDistribution: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
ProcMountType: {
|
||||||
|
{Version: version.MustParse("1.12"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
QOSReserved: {
|
||||||
|
{Version: version.MustParse("1.11"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
RecoverVolumeExpansionFailure: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
RecursiveReadOnlyMounts: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
ReduceDefaultCrashLoopBackOffDecay: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
RelaxedDNSSearchValidation: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
RelaxedEnvironmentVariableValidation: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
ReloadKubeletServerCertificateFile: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
ResourceHealthStatus: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
RotateKubeletServerCertificate: {
|
||||||
|
{Version: version.MustParse("1.7"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.12"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
RuntimeClassInImageCriAPI: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
SchedulerAsyncPreemption: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
SchedulerPopFromBackoffQ: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
SchedulerQueueingHints: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
SELinuxChangePolicy: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
SELinuxMount: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
SELinuxMountReadWriteOncePod: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
SeparateTaintEvictionController: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
StorageNamespaceIndex: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
ServiceAccountNodeAudienceRestriction: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
ServiceAccountTokenJTI: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
ServiceAccountTokenNodeBinding: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
ServiceAccountTokenNodeBindingValidation: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
ServiceAccountTokenPodNodeInfo: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
ServiceTrafficDistribution: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA and LockToDefault in 1.33, remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
SidecarContainers: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, LockToDefault: true, PreRelease: featuregate.GA}, // GA in 1.33 remove in 1.36
|
||||||
|
},
|
||||||
|
|
||||||
|
SizeMemoryBackedVolumes: {
|
||||||
|
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
|
||||||
|
},
|
||||||
|
|
||||||
|
PodLogsQuerySplitStreams: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
StatefulSetAutoDeletePVC: {
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.32, remove in 1.35
|
||||||
|
},
|
||||||
|
|
||||||
|
StatefulSetStartOrdinal: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.31, remove in 1.33
|
||||||
|
},
|
||||||
|
|
||||||
|
StorageCapacityScoring: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
StorageVersionMigrator: {
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
StreamingCollectionEncodingToJSON: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
StreamingCollectionEncodingToProtobuf: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
SupplementalGroupsPolicy: {
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
SystemdWatchdog: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
StrictIPCIDRValidation: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
TopologyAwareHints: {
|
||||||
|
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
|
|
||||||
|
TopologyManagerPolicyAlphaOptions: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
TopologyManagerPolicyBetaOptions: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
TopologyManagerPolicyOptions: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA},
|
||||||
|
},
|
||||||
|
|
||||||
|
TranslateStreamCloseWebsocketRequests: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
UnknownVersionInteroperabilityProxy: {
|
||||||
|
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
UserNamespacesPodSecurityStandards: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
UserNamespacesSupport: {
|
||||||
|
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
VolumeAttributesClass: {
|
||||||
|
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
WinDSR: {
|
||||||
|
{Version: version.MustParse("1.14"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
WindowsGracefulNodeShutdown: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
WinOverlay: {
|
||||||
|
{Version: version.MustParse("1.14"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.20"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
|
||||||
|
WindowsCPUAndMemoryAffinity: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
WindowsHostNetwork: {
|
||||||
|
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
||||||
|
},
|
||||||
|
|
||||||
|
zpagesfeatures.ComponentFlagz: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
|
||||||
|
zpagesfeatures.ComponentStatusz: {
|
||||||
|
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
},
|
||||||
|
DisableCPUQuotaWithExclusiveCPUs: {
|
||||||
|
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
runtime.Must(utilfeature.DefaultMutableFeatureGate.Add(defaultKubernetesFeatureGates)) //nolint:forbidigo // TODO(https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/4330-compatibility-versions): Remove this once we complete the migration to versioned feature gates
|
|
||||||
runtime.Must(utilfeature.DefaultMutableFeatureGate.AddVersioned(defaultVersionedKubernetesFeatureGates))
|
runtime.Must(utilfeature.DefaultMutableFeatureGate.AddVersioned(defaultVersionedKubernetesFeatureGates))
|
||||||
runtime.Must(zpagesfeatures.AddFeatureGates(utilfeature.DefaultMutableFeatureGate))
|
runtime.Must(zpagesfeatures.AddFeatureGates(utilfeature.DefaultMutableFeatureGate))
|
||||||
|
|
||||||
@ -967,10 +1834,3 @@ func init() {
|
|||||||
runtime.Must(clientfeatures.AddFeaturesToExistingFeatureGates(ca))
|
runtime.Must(clientfeatures.AddFeaturesToExistingFeatureGates(ca))
|
||||||
clientfeatures.ReplaceFeatureGates(ca)
|
clientfeatures.ReplaceFeatureGates(ca)
|
||||||
}
|
}
|
||||||
|
|
||||||
// defaultKubernetesFeatureGates consists of legacy unversioned Kubernetes-specific feature keys.
|
|
||||||
// Please do not add to this file and use pkg/features/versioned_kube_features.go instead.
|
|
||||||
//
|
|
||||||
// Entries are separated from each other with blank lines to avoid sweeping gofmt changes
|
|
||||||
// when adding or removing one entry.
|
|
||||||
var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{}
|
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
func TestKubeFeaturesRegistered(t *testing.T) {
|
func TestKubeFeaturesRegistered(t *testing.T) {
|
||||||
registeredFeatures := utilfeature.DefaultFeatureGate.DeepCopy().GetAll()
|
registeredFeatures := utilfeature.DefaultFeatureGate.DeepCopy().GetAll()
|
||||||
|
|
||||||
for featureName := range defaultKubernetesFeatureGates {
|
for featureName := range defaultVersionedKubernetesFeatureGates {
|
||||||
if _, ok := registeredFeatures[featureName]; !ok {
|
if _, ok := registeredFeatures[featureName]; !ok {
|
||||||
t.Errorf("The feature gate %q is not registered in the DefaultFeatureGate", featureName)
|
t.Errorf("The feature gate %q is not registered in the DefaultFeatureGate", featureName)
|
||||||
}
|
}
|
||||||
@ -59,9 +59,6 @@ func TestAllRegisteredFeaturesExpected(t *testing.T) {
|
|||||||
if err := clientfeatures.AddFeaturesToExistingFeatureGates(&clientAdapter{knownFeatureGates}); err != nil {
|
if err := clientfeatures.AddFeaturesToExistingFeatureGates(&clientAdapter{knownFeatureGates}); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if err := knownFeatureGates.Add(defaultKubernetesFeatureGates); err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
if err := knownFeatureGates.AddVersioned(defaultVersionedKubernetesFeatureGates); err != nil {
|
if err := knownFeatureGates.AddVersioned(defaultVersionedKubernetesFeatureGates); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -88,9 +85,6 @@ func TestEnsureAlphaGatesAreNotSwitchedOnByDefault(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for feature, spec := range defaultKubernetesFeatureGates {
|
|
||||||
checkAlphaGates(feature, spec)
|
|
||||||
}
|
|
||||||
for feature, specs := range defaultVersionedKubernetesFeatureGates {
|
for feature, specs := range defaultVersionedKubernetesFeatureGates {
|
||||||
for _, spec := range specs {
|
for _, spec := range specs {
|
||||||
checkAlphaGates(feature, spec)
|
checkAlphaGates(feature, spec)
|
||||||
|
@ -1,890 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2024 The Kubernetes Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package features
|
|
||||||
|
|
||||||
import (
|
|
||||||
apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features"
|
|
||||||
"k8s.io/apimachinery/pkg/util/version"
|
|
||||||
genericfeatures "k8s.io/apiserver/pkg/features"
|
|
||||||
"k8s.io/component-base/featuregate"
|
|
||||||
zpagesfeatures "k8s.io/component-base/zpages/features"
|
|
||||||
kcmfeatures "k8s.io/controller-manager/pkg/features"
|
|
||||||
)
|
|
||||||
|
|
||||||
// defaultVersionedKubernetesFeatureGates consists of all known Kubernetes-specific feature keys with VersionedSpecs.
|
|
||||||
// To add a new feature, define a key for it in pkg/features/kube_features.go and add it here. The features will be
|
|
||||||
// available throughout Kubernetes binaries.
|
|
||||||
// For features available via specific kubernetes components like apiserver,
|
|
||||||
// cloud-controller-manager, etc find the respective kube_features.go file
|
|
||||||
// (eg:staging/src/apiserver/pkg/features/kube_features.go), define the versioned
|
|
||||||
// feature gate there, and reference it in this file.
|
|
||||||
// To support n-3 compatibility version, features may only be removed 3 releases after graduation.
|
|
||||||
//
|
|
||||||
// Entries are alphabetized.
|
|
||||||
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
|
||||||
AllowDNSOnlyNodeCSR: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
AllowInsecureKubeletCertificateSigningRequests: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
AllowOverwriteTerminationGracePeriodSeconds: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
AllowServiceLBStatusOnNonLB: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated, LockToDefault: true}, // remove in 1.35
|
|
||||||
},
|
|
||||||
|
|
||||||
AnyVolumeDataSource: {
|
|
||||||
{Version: version.MustParse("1.18"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.33 -> remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
AuthorizeNodeWithSelectors: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
kcmfeatures.CloudControllerManagerWebhook: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
ClusterTrustBundle: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
ClusterTrustBundleProjection: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
ContainerCheckpoint: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
CPUCFSQuotaPeriod: {
|
|
||||||
{Version: version.MustParse("1.12"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
CPUManager: {
|
|
||||||
{Version: version.MustParse("1.8"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.10"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.26
|
|
||||||
},
|
|
||||||
|
|
||||||
CPUManagerPolicyAlphaOptions: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
CPUManagerPolicyBetaOptions: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
CPUManagerPolicyOptions: {
|
|
||||||
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.23"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
CronJobsScheduledAnnotation: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.35
|
|
||||||
},
|
|
||||||
|
|
||||||
// inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed
|
|
||||||
// unintentionally on either side:
|
|
||||||
apiextensionsfeatures.CRDValidationRatcheting: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
CrossNamespaceVolumeDataSource: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
CSIMigrationPortworx: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta}, // On by default (requires Portworx CSI driver)
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
CSIVolumeHealth: {
|
|
||||||
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
// inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed
|
|
||||||
// unintentionally on either side:
|
|
||||||
apiextensionsfeatures.CustomResourceFieldSelectors: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
|
|
||||||
},
|
|
||||||
|
|
||||||
DeclarativeValidation: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
DeclarativeValidationTakeover: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
DeploymentPodReplacementPolicy: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
DevicePluginCDIDevices: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33
|
|
||||||
},
|
|
||||||
|
|
||||||
DisableAllocatorDualWrite: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta}, // remove after MultiCIDRServiceAllocator is GA
|
|
||||||
},
|
|
||||||
|
|
||||||
DisableNodeKubeProxyVersion: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
DRAAdminAccess: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
DRADeviceTaints: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
DRAPrioritizedList: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
DRAResourceClaimDeviceStatus: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
DynamicResourceAllocation: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletCrashLoopBackOffMax: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
ElasticIndexedJob: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.31, remove in 1.32
|
|
||||||
},
|
|
||||||
|
|
||||||
EventedPLEG: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
ExecProbeTimeout: {
|
|
||||||
{Version: version.MustParse("1.20"), Default: true, PreRelease: featuregate.GA}, // lock to default and remove after v1.22 based on KEP #1972 update
|
|
||||||
},
|
|
||||||
|
|
||||||
ExternalServiceAccountTokenSigner: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.AggregatedDiscoveryRemoveBetaType: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: false, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.AllowParsingUserUIDFromCertAuth: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.AllowUnsafeMalformedObjectDeletion: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.AnonymousAuthConfigurableEndpoints: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.APIResponseCompression: {
|
|
||||||
{Version: version.MustParse("1.8"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.16"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.APIServerIdentity: {
|
|
||||||
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.APIServerTracing: {
|
|
||||||
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.APIServingWithRoutine: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.AuthorizeWithSelectors: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.BtreeWatchCache: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.CBORServingAndStorage: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.ConcurrentWatchObjectDecode: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.ConsistentListFromCache: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.CoordinatedLeaderElection: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.KMSv1: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Deprecated},
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.ListFromCacheSnapshot: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.MutatingAdmissionPolicy: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.OpenAPIEnums: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.RemoteRequestHeaderUID: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.ResilientWatchCacheInitialization: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.RetryGenerateName: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.SeparateCacheWatchRPC: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.StorageVersionAPI: {
|
|
||||||
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.StorageVersionHash: {
|
|
||||||
{Version: version.MustParse("1.14"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.15"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.StrictCostEnforcementForVAP: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.StrictCostEnforcementForWebhooks: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.StructuredAuthenticationConfiguration: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.StructuredAuthorizationConfiguration: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.UnauthenticatedHTTP2DOSMitigation: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.WatchCacheInitializationPostStartHook: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.WatchFromStorageWithoutResourceVersion: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
genericfeatures.WatchList: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
GitRepoVolumeDriver: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
GracefulNodeShutdown: {
|
|
||||||
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.21"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
GracefulNodeShutdownBasedOnPodPriority: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
HonorPVReclaimPolicy: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
HPAScaleToZero: {
|
|
||||||
{Version: version.MustParse("1.16"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
ImageMaximumGCAge: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
ImageVolume: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
InPlacePodVerticalScaling: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
InPlacePodVerticalScalingAllocatedStatus: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
InPlacePodVerticalScalingExclusiveCPUs: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
InTreePluginPortworxUnregister: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha}, // remove it along with CSIMigrationPortworx in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
JobBackoffLimitPerIndex: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
JobManagedBy: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
JobPodReplacementPolicy: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
JobSuccessPolicy: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletCgroupDriverFromCRI: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletEnsureSecretPulledImages: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletFineGrainedAuthz: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletInUserNamespace: {
|
|
||||||
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletPodResourcesDynamicResources: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletPodResourcesGet: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletRegistrationGetOnExistsOnly: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletSeparateDiskGC: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletServiceAccountTokenForCredentialProviders: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
KubeletTracing: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
LegacySidecarContainers: {
|
|
||||||
{Version: version.MustParse("1.0"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
LoadBalancerIPMode: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
LocalStorageCapacityIsolationFSQuotaMonitoring: {
|
|
||||||
{Version: version.MustParse("1.15"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
LogarithmicScaleDown: {
|
|
||||||
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
MatchLabelKeysInPodAffinity: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
MatchLabelKeysInPodTopologySpread: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
MaxUnavailableStatefulSet: {
|
|
||||||
{Version: version.MustParse("1.24"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
MemoryManager: {
|
|
||||||
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
MemoryQoS: {
|
|
||||||
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
MultiCIDRServiceAllocator: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: false}, // remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
MutableCSINodeAllocatableCount: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
NFTablesProxyMode: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
NodeInclusionPolicyInPodTopologySpread: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
NodeLogQuery: {
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
NodeSwap: {
|
|
||||||
{Version: version.MustParse("1.22"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
OrderedNamespaceDeletion: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodAndContainerStatsFromCRI: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodDeletionCost: {
|
|
||||||
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodDisruptionConditions: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.26"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33
|
|
||||||
},
|
|
||||||
|
|
||||||
PodIndexLabel: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.35
|
|
||||||
},
|
|
||||||
|
|
||||||
PodLevelResources: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodLifecycleSleepAction: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodReadyToStartContainersCondition: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodLifecycleSleepActionAllowZero: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodObservedGenerationTracking: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodSchedulingReadiness: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.30; remove in 1.32
|
|
||||||
},
|
|
||||||
|
|
||||||
PortForwardWebsockets: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
PreferSameTrafficDistribution: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
ProcMountType: {
|
|
||||||
{Version: version.MustParse("1.12"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
QOSReserved: {
|
|
||||||
{Version: version.MustParse("1.11"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
RecoverVolumeExpansionFailure: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
RecursiveReadOnlyMounts: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
ReduceDefaultCrashLoopBackOffDecay: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
RelaxedDNSSearchValidation: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
RelaxedEnvironmentVariableValidation: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
ReloadKubeletServerCertificateFile: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
ResourceHealthStatus: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
RotateKubeletServerCertificate: {
|
|
||||||
{Version: version.MustParse("1.7"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.12"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
RuntimeClassInImageCriAPI: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
SchedulerAsyncPreemption: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
SchedulerPopFromBackoffQ: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
SchedulerQueueingHints: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
SELinuxChangePolicy: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
SELinuxMount: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
SELinuxMountReadWriteOncePod: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
SeparateTaintEvictionController: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
StorageNamespaceIndex: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
ServiceAccountNodeAudienceRestriction: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
ServiceAccountTokenJTI: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
ServiceAccountTokenNodeBinding: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
ServiceAccountTokenNodeBindingValidation: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
ServiceAccountTokenPodNodeInfo: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
ServiceTrafficDistribution: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA and LockToDefault in 1.33, remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
SidecarContainers: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, LockToDefault: true, PreRelease: featuregate.GA}, // GA in 1.33 remove in 1.36
|
|
||||||
},
|
|
||||||
|
|
||||||
SizeMemoryBackedVolumes: {
|
|
||||||
{Version: version.MustParse("1.20"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.22"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, LockToDefault: true, PreRelease: featuregate.GA},
|
|
||||||
},
|
|
||||||
|
|
||||||
PodLogsQuerySplitStreams: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
StatefulSetAutoDeletePVC: {
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.32, remove in 1.35
|
|
||||||
},
|
|
||||||
|
|
||||||
StatefulSetStartOrdinal: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // GA in 1.31, remove in 1.33
|
|
||||||
},
|
|
||||||
|
|
||||||
StorageCapacityScoring: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
StorageVersionMigrator: {
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
StreamingCollectionEncodingToJSON: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
StreamingCollectionEncodingToProtobuf: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
SupplementalGroupsPolicy: {
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
SystemdWatchdog: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
StrictIPCIDRValidation: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
TopologyAwareHints: {
|
|
||||||
{Version: version.MustParse("1.21"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.23"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.24"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
|
||||||
},
|
|
||||||
|
|
||||||
TopologyManagerPolicyAlphaOptions: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
TopologyManagerPolicyBetaOptions: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
TopologyManagerPolicyOptions: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA},
|
|
||||||
},
|
|
||||||
|
|
||||||
TranslateStreamCloseWebsocketRequests: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
UnknownVersionInteroperabilityProxy: {
|
|
||||||
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
UserNamespacesPodSecurityStandards: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
UserNamespacesSupport: {
|
|
||||||
{Version: version.MustParse("1.25"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
VolumeAttributesClass: {
|
|
||||||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
WinDSR: {
|
|
||||||
{Version: version.MustParse("1.14"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
WindowsGracefulNodeShutdown: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
WinOverlay: {
|
|
||||||
{Version: version.MustParse("1.14"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.20"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
|
|
||||||
WindowsCPUAndMemoryAffinity: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
WindowsHostNetwork: {
|
|
||||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Deprecated},
|
|
||||||
},
|
|
||||||
|
|
||||||
zpagesfeatures.ComponentFlagz: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
|
|
||||||
zpagesfeatures.ComponentStatusz: {
|
|
||||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
|
|
||||||
},
|
|
||||||
DisableCPUQuotaWithExclusiveCPUs: {
|
|
||||||
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
|
|
||||||
},
|
|
||||||
}
|
|
@ -246,7 +246,6 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
runtime.Must(utilfeature.DefaultMutableFeatureGate.Add(defaultKubernetesFeatureGates)) //nolint:forbidigo // TODO(https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/4330-compatibility-versions): Remove this once we complete the migration to versioned feature gates
|
|
||||||
runtime.Must(utilfeature.DefaultMutableFeatureGate.AddVersioned(defaultVersionedKubernetesFeatureGates))
|
runtime.Must(utilfeature.DefaultMutableFeatureGate.AddVersioned(defaultVersionedKubernetesFeatureGates))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -418,7 +417,3 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
|
|||||||
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
{Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.Beta},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// defaultKubernetesFeatureGates consists of legacy unversioned Kubernetes-specific feature keys.
|
|
||||||
// Please do not add to this struct and use defaultVersionedKubernetesFeatureGates instead.
|
|
||||||
var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{}
|
|
||||||
|
@ -122,8 +122,8 @@ ERROR: some/relative/path/buggy.go:200: with spaces
|
|||||||
`
|
`
|
||||||
// Used by unittests/list-tests. It's sorted by test name, not source code location.
|
// Used by unittests/list-tests. It's sorted by test name, not source code location.
|
||||||
ListTestsOutput = `The following spec names can be used with 'ginkgo run --focus/skip':
|
ListTestsOutput = `The following spec names can be used with 'ginkgo run --focus/skip':
|
||||||
../bugs/bugs.go:100: [sig-testing] abc space1 space2 [Feature:no-such-feature] [Feature:feature-foo] [Environment:no-such-env] [Environment:Linux] [FeatureGate:no-such-feature-gate] [Feature:OffByDefault] [FeatureGate:TestAlphaFeature] [Alpha] [Feature:OffByDefault] [FeatureGate:TestBetaFeature] [Beta] [Feature:OffByDefault] [FeatureGate:TestGAFeature] [Feature:OffByDefault] [Conformance] [NodeConformance] [Slow] [Serial] [Disruptive] [custom-label] xyz x [foo] should [bar]
|
../bugs/bugs.go:100: [sig-testing] abc space1 space2 [Feature:no-such-feature] [Feature:feature-foo] [Environment:no-such-env] [Environment:Linux] [FeatureGate:no-such-feature-gate] [Feature:OffByDefault] [FeatureGate:TestAlphaFeature] [Alpha] [Feature:OffByDefault] [FeatureGate:TestBetaFeature] [Beta] [FeatureGate:TestGAFeature] [Conformance] [NodeConformance] [Slow] [Serial] [Disruptive] [custom-label] xyz x [foo] should [bar]
|
||||||
../bugs/bugs.go:95: [sig-testing] abc space1 space2 [Feature:no-such-feature] [Feature:feature-foo] [Environment:no-such-env] [Environment:Linux] [FeatureGate:no-such-feature-gate] [Feature:OffByDefault] [FeatureGate:TestAlphaFeature] [Alpha] [Feature:OffByDefault] [FeatureGate:TestBetaFeature] [Beta] [Feature:OffByDefault] [FeatureGate:TestGAFeature] [Feature:OffByDefault] [Conformance] [NodeConformance] [Slow] [Serial] [Disruptive] [custom-label] xyz y [foo] should [bar]
|
../bugs/bugs.go:95: [sig-testing] abc space1 space2 [Feature:no-such-feature] [Feature:feature-foo] [Environment:no-such-env] [Environment:Linux] [FeatureGate:no-such-feature-gate] [Feature:OffByDefault] [FeatureGate:TestAlphaFeature] [Alpha] [Feature:OffByDefault] [FeatureGate:TestBetaFeature] [Beta] [FeatureGate:TestGAFeature] [Conformance] [NodeConformance] [Slow] [Serial] [Disruptive] [custom-label] xyz y [foo] should [bar]
|
||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ package features
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/apimachinery/pkg/util/runtime"
|
"k8s.io/apimachinery/pkg/util/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/util/version"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
"k8s.io/component-base/featuregate"
|
"k8s.io/component-base/featuregate"
|
||||||
)
|
)
|
||||||
@ -29,11 +30,20 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
runtime.Must(utilfeature.DefaultMutableFeatureGate.Add(testFeatureGates)) //nolint:forbidigo // Part of a unit test.
|
runtime.Must(utilfeature.DefaultMutableFeatureGate.AddVersioned(testFeatureGates))
|
||||||
}
|
}
|
||||||
|
|
||||||
var testFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{
|
var testFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||||
Alpha: {PreRelease: featuregate.Alpha},
|
Alpha: {
|
||||||
Beta: {PreRelease: featuregate.Beta},
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
GA: {PreRelease: featuregate.GA},
|
},
|
||||||
|
Beta: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
|
GA: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ package features
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"k8s.io/apimachinery/pkg/util/runtime"
|
"k8s.io/apimachinery/pkg/util/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/util/version"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
"k8s.io/component-base/featuregate"
|
"k8s.io/component-base/featuregate"
|
||||||
)
|
)
|
||||||
@ -27,9 +28,12 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
runtime.Must(utilfeature.DefaultMutableFeatureGate.Add(defaultKubernetesFeatureGates)) //nolint:forbidigo // Part of a unit test.
|
runtime.Must(utilfeature.DefaultMutableFeatureGate.AddVersioned(defaultVersionedKubernetesFeatureGates))
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{
|
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||||
Test: {Default: false, PreRelease: featuregate.Alpha},
|
Test: {
|
||||||
|
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||||
|
{Version: version.MustParse("1.28"), Default: true, PreRelease: featuregate.Beta},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user