diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index f3d90e79493..5890c3a3b2a 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -50,58 +50,44 @@ const ( AllowOverwriteTerminationGracePeriodSeconds featuregate.Feature = "AllowOverwriteTerminationGracePeriodSeconds" // owner: @bswartz - // alpha: v1.18 - // beta: v1.24 // // Enables usage of any object for volume data source in PVCs AnyVolumeDataSource featuregate.Feature = "AnyVolumeDataSource" // owner: @tallclair - // beta: v1.4 - // GA: v1.31 AppArmor featuregate.Feature = "AppArmor" // owner: @tallclair - // beta: v1.30 - // GA: v1.31 AppArmorFields featuregate.Feature = "AppArmorFields" // owner: @liggitt // kep: - // alpha: v1.31 // // Make the Node authorizer use fine-grained selector authorization. // Requires AuthorizeWithSelectors to be enabled. AuthorizeNodeWithSelectors featuregate.Feature = "AuthorizeNodeWithSelectors" // owner: @ahmedtd - // alpha: v1.27 // // Enable ClusterTrustBundle objects and Kubelet integration. ClusterTrustBundle featuregate.Feature = "ClusterTrustBundle" // owner: @ahmedtd - // alpha: v1.29 // // Enable ClusterTrustBundle Kubelet projected volumes. Depends on ClusterTrustBundle. ClusterTrustBundleProjection featuregate.Feature = "ClusterTrustBundleProjection" // owner: @szuecs - // alpha: v1.12 // // Enable nodes to change CPUCFSQuotaPeriod CPUCFSQuotaPeriod featuregate.Feature = "CustomCPUCFSQuotaPeriod" // owner: @ConnorDoyle, @fromanirh (only for GA graduation) - // alpha: v1.8 - // beta: v1.10 - // GA: v1.26 // // Alternative container-level CPU affinity policies. CPUManager featuregate.Feature = "CPUManager" // owner: @fromanirh - // alpha: v1.23 // beta: see below. // // Allow fine-tuning of cpumanager policies, experimental, alpha-quality options @@ -114,7 +100,6 @@ const ( CPUManagerPolicyAlphaOptions featuregate.Feature = "CPUManagerPolicyAlphaOptions" // owner: @fromanirh - // beta: v1.23 // beta: see below. // // Allow fine-tuning of cpumanager policies, experimental, beta-quality options @@ -128,65 +113,50 @@ const ( CPUManagerPolicyBetaOptions featuregate.Feature = "CPUManagerPolicyBetaOptions" // owner: @fromanirh - // alpha: v1.22 - // beta: v1.23 // // Allow the usage of options to fine-tune the cpumanager policies. CPUManagerPolicyOptions featuregate.Feature = "CPUManagerPolicyOptions" // owner: @jefftree // kep: https://kep.k8s.io/4355 - // alpha: v1.31 // // Enables coordinated leader election in the API server CoordinatedLeaderElection featuregate.Feature = "CoordinatedLeaderElection" // owner: @trierra // kep: http://kep.k8s.io/2589 - // alpha: v1.23 - // beta: v1.25 (off by default) - // beta: v1.31 (on by default) // // Enables the Portworx in-tree driver to Portworx migration feature. CSIMigrationPortworx featuregate.Feature = "CSIMigrationPortworx" // owner: @fengzixu - // alpha: v1.21 // // Enables kubelet to detect CSI volume condition and send the event of the abnormal volume to the corresponding pod that is using it. CSIVolumeHealth featuregate.Feature = "CSIVolumeHealth" // owner: @adrianreber // kep: https://kep.k8s.io/2008 - // alpha: v1.25 - // beta: v1.30 // // Enables container Checkpoint support in the kubelet ContainerCheckpoint featuregate.Feature = "ContainerCheckpoint" // owner: @helayoty - // beta: v1.28 // Set the scheduled time as an annotation in the job. CronJobsScheduledAnnotation featuregate.Feature = "CronJobsScheduledAnnotation" // owner: @ttakahashi21 @mkimuram // kep: https://kep.k8s.io/3294 - // alpha: v1.26 // // Enable usage of Provision of PVCs from snapshots in other namespaces CrossNamespaceVolumeDataSource featuregate.Feature = "CrossNamespaceVolumeDataSource" // owner: @elezar // kep: http://kep.k8s.io/4009 - // alpha: v1.28 - // beta: v1.29 - // GA: v1.31 // // Add support for CDI Device IDs in the Device Plugin API. DevicePluginCDIDevices featuregate.Feature = "DevicePluginCDIDevices" // owner: @aojea - // alpha: v1.31 // // The apiservers with the MultiCIDRServiceAllocator feature enable, in order to support live migration from the old bitmap ClusterIP // allocators to the new IPAddress allocators introduced by the MultiCIDRServiceAllocator feature, performs a dual-write on @@ -194,17 +164,11 @@ const ( DisableAllocatorDualWrite featuregate.Feature = "DisableAllocatorDualWrite" // owner: @andrewsykim - // alpha: v1.22 - // beta: v1.29 - // GA: v1.31 // // Disable any functionality in kube-apiserver, kube-controller-manager and kubelet related to the `--cloud-provider` component flag. DisableCloudProviders featuregate.Feature = "DisableCloudProviders" // owner: @andrewsykim - // alpha: v1.23 - // beta: v1.29 - // GA: v1.31 // // Disable in-tree functionality in kubelet to authenticate to cloud provider container registries for image pull credentials. DisableKubeletCloudCredentialProviders featuregate.Feature = "DisableKubeletCloudCredentialProviders" @@ -226,7 +190,6 @@ const ( // owner: @HirazawaUi // kep: http://kep.k8s.io/4004 - // alpha: v1.29 // Deprecated: v1.31 (default off) // // DisableNodeKubeProxyVersion disable the status.nodeInfo.kubeProxyVersion field of v1.Node @@ -234,7 +197,6 @@ const ( // owner: @pohly // kep: http://kep.k8s.io/3063 - // alpha: v1.26 // // Enables support for resources with custom parameters and a lifecycle // that is independent of a Pod. Resource allocation is done by a DRA driver's @@ -243,7 +205,6 @@ const ( // owner: @pohly // kep: http://kep.k8s.io/4381 - // alpha: v1.29 // // Enables support for resources with custom parameters and a lifecycle // that is independent of a Pod. Resource allocation is done by the scheduler @@ -252,14 +213,12 @@ const ( // owner: @harche // kep: http://kep.k8s.io/3386 - // alpha: v1.25 // // Allows using event-driven PLEG (pod lifecycle event generator) through kubelet // which avoids frequent relisting of containers which helps optimize performance. EventedPLEG featuregate.Feature = "EventedPLEG" // owner: @andrewsykim @SergeyKanzhelev - // GA: v1.20 // // Ensure kubelet respects exec probe timeouts. Feature gate exists in-case existing workloads // may depend on old behavior where exec probe timeouts were ignored. @@ -267,68 +226,51 @@ const ( ExecProbeTimeout featuregate.Feature = "ExecProbeTimeout" // owner: @bobbypage - // alpha: v1.20 - // beta: v1.21 // Adds support for kubelet to detect node shutdown and gracefully terminate pods prior to the node being shutdown. GracefulNodeShutdown featuregate.Feature = "GracefulNodeShutdown" // owner: @wzshiming - // alpha: v1.23 - // beta: v1.24 // Make the kubelet use shutdown configuration based on pod priority values for graceful shutdown. GracefulNodeShutdownBasedOnPodPriority featuregate.Feature = "GracefulNodeShutdownBasedOnPodPriority" // owner: @arjunrn @mwielgus @josephburnett @sanposhiho // kep: https://kep.k8s.io/1610 - // alpha: v1.20 - // beta: v1.27 - // GA: v1.30 // // Add support for the HPA to scale based on metrics from individual containers // in target pods HPAContainerMetrics featuregate.Feature = "HPAContainerMetrics" // owner: @dxist - // alpha: v1.16 // // Enables support of HPA scaling to zero pods when an object or custom metric is configured. HPAScaleToZero featuregate.Feature = "HPAScaleToZero" // owner: @deepakkinni @xing-yang // kep: https://kep.k8s.io/2644 - // alpha: v1.23 - // beta: v1.31 // // Honor Persistent Volume Reclaim Policy when it is "Delete" irrespective of PV-PVC // deletion ordering. HonorPVReclaimPolicy featuregate.Feature = "HonorPVReclaimPolicy" // owner: @trierra - // alpha: v1.23 // // Disables the Portworx in-tree driver. InTreePluginPortworxUnregister featuregate.Feature = "InTreePluginPortworxUnregister" // owner: @mimowo // kep: https://kep.k8s.io/3850 - // alpha: v1.28 - // beta: v1.29 // // Allows users to specify counting of failed pods per index. JobBackoffLimitPerIndex featuregate.Feature = "JobBackoffLimitPerIndex" // owner: @mimowo // kep: https://kep.k8s.io/4368 - // alpha: v1.30 // // Allows to delegate reconciliation of a Job object to an external controller. JobManagedBy featuregate.Feature = "JobManagedBy" // owner: @mimowo // kep: https://kep.k8s.io/3329 - // alpha: v1.25 - // beta: v1.26 - // GA: v1.31 // // Allow users to specify handling of pod failures based on container exit codes // and pod conditions. @@ -336,8 +278,6 @@ const ( // owner: @kannon92 // kep : https://kep.k8s.io/3939 - // alpha: v1.28 - // beta: v1.29 // // Allow users to specify recreating pods of a job only when // pods have fully terminated. @@ -345,8 +285,6 @@ const ( // owner: @tenzen-y // kep: https://kep.k8s.io/3998 - // alpha: v1.30 - // beta: v1.31 // // Allow users to specify when a Job can be declared as succeeded // based on the set of succeeded pods. @@ -354,8 +292,6 @@ const ( // owner: @marquiz // kep: http://kep.k8s.io/4033 - // alpha: v1.28 - // beta: v1.31 // // Enable detection of the kubelet cgroup driver configuration option from // the CRI. The CRI runtime also needs to support this feature in which @@ -365,7 +301,6 @@ const ( KubeletCgroupDriverFromCRI featuregate.Feature = "KubeletCgroupDriverFromCRI" // owner: @AkihiroSuda - // alpha: v1.22 // // Enables support for running kubelet in a user namespace. // The user namespace has to be created before running kubelet. @@ -373,21 +308,17 @@ const ( KubeletInUserNamespace featuregate.Feature = "KubeletInUserNamespace" // owner: @moshe010 - // alpha: v1.27 // // Enable POD resources API to return resources allocated by Dynamic Resource Allocation KubeletPodResourcesDynamicResources featuregate.Feature = "KubeletPodResourcesDynamicResources" // owner: @moshe010 - // alpha: v1.27 // // Enable POD resources API with Get method KubeletPodResourcesGet featuregate.Feature = "KubeletPodResourcesGet" // owner: @kannon92 // kep: https://kep.k8s.io/4191 - // alpha: v1.29 - // beta: v1.31 // // The split image filesystem feature enables kubelet to perform garbage collection // of images (read-only layers) and/or containers (writeable layers) deployed on @@ -396,25 +327,18 @@ const ( // owner: @sallyom // kep: https://kep.k8s.io/2832 - // alpha: v1.25 - // beta: v1.27 // // Add support for distributed tracing in the kubelet KubeletTracing featuregate.Feature = "KubeletTracing" // owner: @alexanderConstantinescu // kep: http://kep.k8s.io/3836 - // alpha: v1.28 - // beta: v1.30 - // GA: v1.31 // // Implement connection draining for terminating nodes for // `externalTrafficPolicy: Cluster` services. KubeProxyDrainingTerminatingNodes featuregate.Feature = "KubeProxyDrainingTerminatingNodes" // owner: @RobertKrawitz - // alpha: v1.15 - // beta: v1.31 // // Allow use of filesystems for ephemeral storage monitoring. // Only applies if LocalStorageCapacityIsolation is set. @@ -422,119 +346,87 @@ const ( LocalStorageCapacityIsolationFSQuotaMonitoring featuregate.Feature = "LocalStorageCapacityIsolationFSQuotaMonitoring" // owner: @damemi - // alpha: v1.21 - // beta: v1.22 - // GA: v1.31 // // Enables scaling down replicas via logarithmic comparison of creation/ready timestamps LogarithmicScaleDown featuregate.Feature = "LogarithmicScaleDown" // owner: @sanposhiho // kep: https://kep.k8s.io/3633 - // alpha: v1.29 - // beta: v1.31 // // Enables the MatchLabelKeys and MismatchLabelKeys in PodAffinity and PodAntiAffinity. MatchLabelKeysInPodAffinity featuregate.Feature = "MatchLabelKeysInPodAffinity" // owner: @denkensk // kep: https://kep.k8s.io/3243 - // alpha: v1.25 - // beta: v1.27 // // Enable MatchLabelKeys in PodTopologySpread. MatchLabelKeysInPodTopologySpread featuregate.Feature = "MatchLabelKeysInPodTopologySpread" // owner: @krmayankk - // alpha: v1.24 // // Enables maxUnavailable for StatefulSet MaxUnavailableStatefulSet featuregate.Feature = "MaxUnavailableStatefulSet" // owner: @cynepco3hahue(alukiano) @cezaryzukowski @k-wiatrzyk - // alpha: v1.21 - // beta: v1.22 // Allows setting memory affinity for a container based on NUMA topology MemoryManager featuregate.Feature = "MemoryManager" // owner: @xiaoxubeii // kep: https://kep.k8s.io/2570 - // alpha: v1.22 // // Enables kubelet to support memory QoS with cgroups v2. MemoryQoS featuregate.Feature = "MemoryQoS" // owner: @aojea // kep: https://kep.k8s.io/1880 - // alpha: v1.27 - // beta: v1.31 // // Enables the dynamic configuration of Service IP ranges MultiCIDRServiceAllocator featuregate.Feature = "MultiCIDRServiceAllocator" // owner: @danwinship // kep: https://kep.k8s.io/3866 - // alpha: v1.29 - // beta: v1.31 // // Allows running kube-proxy with `--mode nftables`. NFTablesProxyMode featuregate.Feature = "NFTablesProxyMode" // owner: @aravindhp @LorbusChris // kep: http://kep.k8s.io/2271 - // alpha: v1.27 - // beta: v1.30 // // Enables querying logs of node services using the /logs endpoint NodeLogQuery featuregate.Feature = "NodeLogQuery" // owner: @iholder101 @kannon92 // kep: https://kep.k8s.io/2400 - // alpha: v1.22 - // beta1: v1.28 (default=false) - // beta2: v.1.30 (default=true) // Permits kubelet to run with swap enabled. NodeSwap featuregate.Feature = "NodeSwap" // owner: @mortent, @atiratree, @ravig // kep: http://kep.k8s.io/3018 - // alpha: v1.26 - // beta: v1.27 - // GA: v1.31 // // Enables PDBUnhealthyPodEvictionPolicy for PodDisruptionBudgets PDBUnhealthyPodEvictionPolicy featuregate.Feature = "PDBUnhealthyPodEvictionPolicy" // owner: @RomanBednar // kep: https://kep.k8s.io/3762 - // alpha: v1.28 - // beta: v1.29 - // GA: v1.31 // // Adds a new field to persistent volumes which holds a timestamp of when the volume last transitioned its phase. PersistentVolumeLastPhaseTransitionTime featuregate.Feature = "PersistentVolumeLastPhaseTransitionTime" // owner: @haircommander // kep: https://kep.k8s.io/2364 - // alpha: v1.23 // // Configures the Kubelet to use the CRI to populate pod and container stats, instead of supplimenting with stats from cAdvisor. // Requires the CRI implementation supports supplying the required stats. PodAndContainerStatsFromCRI featuregate.Feature = "PodAndContainerStatsFromCRI" // owner: @ahg-g - // alpha: v1.21 - // beta: v1.22 // // Enables controlling pod ranking on replicaset scale-down. PodDeletionCost featuregate.Feature = "PodDeletionCost" // owner: @mimowo // kep: https://kep.k8s.io/3329 - // alpha: v1.25 - // beta: v1.26 - // GA: v1.31 // // Enables support for appending a dedicated pod condition indicating that // the pod is being deleted due to a disruption. @@ -542,14 +434,11 @@ const ( // owner: @danielvegamyhre // kep: https://kep.k8s.io/4017 - // beta: v1.28 // // Set pod completion index as a pod label for Indexed Jobs. PodIndexLabel featuregate.Feature = "PodIndexLabel" // owner: @ddebroy, @kannon92 - // alpha: v1.28 - // beta: v1.29 // // Enables reporting of PodReadyToStartContainersCondition condition in pod status after pod // sandbox creation and network configuration completes successfully @@ -557,47 +446,34 @@ const ( // owner: @wzshiming // kep: http://kep.k8s.io/2681 - // alpha: v1.28 - // beta: v1.29 - // GA: v1.30 // // Adds pod.status.hostIPs and downward API PodHostIPs featuregate.Feature = "PodHostIPs" // owner: @AxeZhan // kep: http://kep.k8s.io/3960 - // alpha: v1.29 - // beta: v1.30 // // Enables SleepAction in container lifecycle hooks PodLifecycleSleepAction featuregate.Feature = "PodLifecycleSleepAction" // owner: @Huang-Wei // kep: https://kep.k8s.io/3521 - // alpha: v1.26 - // beta: v1.27 - // GA: v1.30 // // Enable users to specify when a Pod is ready for scheduling. PodSchedulingReadiness featuregate.Feature = "PodSchedulingReadiness" // owner: @seans3 // kep: http://kep.k8s.io/4006 - // alpha: v1.30 - // beta: v1.31 // // Enables PortForward to be proxied with a websocket client PortForwardWebsockets featuregate.Feature = "PortForwardWebsockets" // owner: @jessfraz - // alpha: v1.12 - // beta: v1.31 // // Enables control over ProcMountType for containers. ProcMountType featuregate.Feature = "ProcMountType" // owner: @sjenning - // alpha: v1.11 // // Allows resource reservations at the QoS level preventing pods at lower QoS levels from // bursting into resources requested at higher QoS levels (memory only for now) @@ -605,35 +481,29 @@ const ( // owner: @gnufied // kep: https://kep.k8s.io/1790 - // alpha: v1.23 // // Allow users to recover from volume expansion failure RecoverVolumeExpansionFailure featuregate.Feature = "RecoverVolumeExpansionFailure" // owner: @AkihiroSuda // kep: https://kep.k8s.io/3857 - // alpha: v1.30 - // beta: v1.31 // // Allows recursive read-only mounts. RecursiveReadOnlyMounts featuregate.Feature = "RecursiveReadOnlyMounts" // owner: @adrianmoisey // kep: https://kep.k8s.io/4427 - // alpha: v1.32 // // Relaxed DNS search string validation. RelaxedDNSSearchValidation featuregate.Feature = "RelaxedDNSSearchValidation" // owner: @HirazawaUi // kep: https://kep.k8s.io/4369 - // alpha: v1.30 // // Allow almost all printable ASCII characters in environment variables RelaxedEnvironmentVariableValidation featuregate.Feature = "RelaxedEnvironmentVariableValidation" // owner: @zhangweikop - // beta: v1.31 // // Enable kubelet tls server to update certificate if the specified certificate files are changed. // This feature is useful when specifying tlsCertFile & tlsPrivateKeyFile in kubelet Configuration. @@ -642,14 +512,11 @@ const ( // owner: @SergeyKanzhelev // kep: https://kep.k8s.io/4680 - // alpha: v1.31 // // Adds the AllocatedResourcesStatus to the container status. ResourceHealthStatus featuregate.Feature = "ResourceHealthStatus" // owner: @mikedanese - // alpha: v1.7 - // beta: v1.12 // // Gets a server certificate for the kubelet from the Certificate Signing // Request API instead of generating one self signed and auto rotates the @@ -658,15 +525,12 @@ const ( // owner: @kiashok // kep: https://kep.k8s.io/4216 - // alpha: v1.29 // // Adds support to pull images based on the runtime class specified. RuntimeClassInImageCriAPI featuregate.Feature = "RuntimeClassInImageCriApi" // owner: @danielvegamyhre // kep: https://kep.k8s.io/2413 - // beta: v1.27 - // GA: v1.31 // // Allows mutating spec.completions for Indexed job when done in tandem with // spec.parallelism. Specifically, spec.completions is mutable iff spec.completions @@ -675,7 +539,6 @@ const ( // owner: @sanposhiho // kep: http://kep.k8s.io/4247 - // beta: v1.28 // // Enables the scheduler's enhancement called QueueingHints, // which benefits to reduce the useless requeueing. @@ -683,15 +546,12 @@ const ( // owner: @atosatto @yuanchen8911 // kep: http://kep.k8s.io/3902 - // beta: v1.29 // // Decouples Taint Eviction Controller, performing taint-based Pod eviction, from Node Lifecycle Controller. SeparateTaintEvictionController featuregate.Feature = "SeparateTaintEvictionController" // owner: @munnerz // kep: http://kep.k8s.io/4193 - // alpha: v1.29 - // beta: v1.30 // // Controls whether JTIs (UUIDs) are embedded into generated service account tokens, and whether these JTIs are // recorded into the audit log for future requests made by these tokens. @@ -699,24 +559,18 @@ const ( // owner: @munnerz // kep: http://kep.k8s.io/4193 - // alpha: v1.29 - // beta: v1.31 // // Controls whether the apiserver supports binding service account tokens to Node objects. ServiceAccountTokenNodeBinding featuregate.Feature = "ServiceAccountTokenNodeBinding" // owner: @munnerz // kep: http://kep.k8s.io/4193 - // alpha: v1.29 - // beta: v1.30 // // Controls whether the apiserver will validate Node claims in service account tokens. ServiceAccountTokenNodeBindingValidation featuregate.Feature = "ServiceAccountTokenNodeBindingValidation" // owner: @munnerz // kep: http://kep.k8s.io/4193 - // alpha: v1.29 - // beta: v1.30 // // Controls whether the apiserver embeds the node name and uid for the associated node when issuing // service account tokens bound to Pod objects. @@ -724,16 +578,12 @@ const ( // owner: @gauravkghildiyal @robscott // kep: https://kep.k8s.io/4444 - // alpha: v1.30 - // beta: v1.31 // // Enables trafficDistribution field on Services. ServiceTrafficDistribution featuregate.Feature = "ServiceTrafficDistribution" // owner: @gjkim42 @SergeyKanzhelev @matthyx @tzneal // kep: http://kep.k8s.io/753 - // alpha: v1.28 - // beta: v1.29 // // Introduces sidecar containers, a new type of init container that starts // before other containers but remains running for the full duration of the @@ -741,51 +591,39 @@ const ( SidecarContainers featuregate.Feature = "SidecarContainers" // owner: @derekwaynecarr - // alpha: v1.20 - // beta: v1.22 // // Enables kubelet support to size memory backed volumes SizeMemoryBackedVolumes featuregate.Feature = "SizeMemoryBackedVolumes" // owner: @mattcary - // alpha: v1.23 - // beta: v1.27 // // Enables policies controlling deletion of PVCs created by a StatefulSet. StatefulSetAutoDeletePVC featuregate.Feature = "StatefulSetAutoDeletePVC" // owner: @psch - // alpha: v1.26 - // beta: v1.27 - // GA: v1.31 // // Enables a StatefulSet to start from an arbitrary non zero ordinal StatefulSetStartOrdinal featuregate.Feature = "StatefulSetStartOrdinal" // owner: @ahutsunshine - // beta: v1.30 // // Allows namespace indexer for namespace scope resources in apiserver cache to accelerate list operations. StorageNamespaceIndex featuregate.Feature = "StorageNamespaceIndex" // owner: @nilekhc // kep: https://kep.k8s.io/4192 - // alpha: v1.30 // Enables support for the StorageVersionMigrator controller. StorageVersionMigrator featuregate.Feature = "StorageVersionMigrator" // owner: @robscott // kep: https://kep.k8s.io/2433 - // alpha: v1.21 - // beta: v1.23 // // Enables topology aware hints for EndpointSlices TopologyAwareHints featuregate.Feature = "TopologyAwareHints" // owner: @PiotrProkop // kep: https://kep.k8s.io/3545 - // alpha: v1.26 // // Allow fine-tuning of topology manager policies with alpha options. // This feature gate: @@ -795,7 +633,6 @@ const ( // owner: @PiotrProkop // kep: https://kep.k8s.io/3545 - // alpha: v1.26 // // Allow fine-tuning of topology manager policies with beta options. // This feature gate: @@ -806,70 +643,56 @@ const ( // owner: @PiotrProkop // kep: https://kep.k8s.io/3545 - // alpha: v1.26 // // Allow the usage of options to fine-tune the topology manager policies. TopologyManagerPolicyOptions featuregate.Feature = "TopologyManagerPolicyOptions" // owner: @seans3 // kep: http://kep.k8s.io/4006 - // alpha: v1.29 - // beta: v1.30 // // Enables StreamTranslator proxy to handle WebSockets upgrade requests for the // version of the RemoteCommand subprotocol that supports the "close" signal. TranslateStreamCloseWebsocketRequests featuregate.Feature = "TranslateStreamCloseWebsocketRequests" // owner: @richabanker - // alpha: v1.28 // // Proxies client to an apiserver capable of serving the request in the event of version skew. UnknownVersionInteroperabilityProxy featuregate.Feature = "UnknownVersionInteroperabilityProxy" // owner: @rata, @giuseppe // kep: https://kep.k8s.io/127 - // alpha: v1.25 - // beta: v1.30 // // Enables user namespace support for stateless pods. UserNamespacesSupport featuregate.Feature = "UserNamespacesSupport" // owner: @mattcarry, @sunnylovestiramisu // kep: https://kep.k8s.io/3751 - // alpha: v1.29 - // beta: v1.31 (off by default) // // Enables user specified volume attributes for persistent volumes, like iops and throughput. VolumeAttributesClass featuregate.Feature = "VolumeAttributesClass" // owner: @cofyc - // alpha: v1.21 VolumeCapacityPriority featuregate.Feature = "VolumeCapacityPriority" // owner: @ksubrmnn - // alpha: v1.14 // // Allows kube-proxy to create DSR loadbalancers for Windows WinDSR featuregate.Feature = "WinDSR" // owner: @ksubrmnn - // alpha: v1.14 - // beta: v1.20 + // // Allows kube-proxy to run in Overlay mode for Windows WinOverlay featuregate.Feature = "WinOverlay" // owner: @marosset // kep: https://kep.k8s.io/3503 - // alpha: v1.26 // // Enables support for joining Windows containers to a hosts' network namespace. WindowsHostNetwork featuregate.Feature = "WindowsHostNetwork" // owner: @kerthcet // kep: https://kep.k8s.io/3094 - // alpha: v1.25 - // beta: v1.26 // // Allow users to specify whether to take nodeAffinity/nodeTaint into consideration when // calculating pod topology spread skew. @@ -877,8 +700,6 @@ const ( // owner: @jsafrane // kep: https://kep.k8s.io/1710 - // alpha: v1.25 - // beta: v1.27 // Speed up container startup by mounting volumes with the correct SELinux label // instead of changing each file on the volumes recursively. // Initial implementation focused on ReadWriteOncePod volumes. @@ -886,29 +707,22 @@ const ( // owner: @vinaykul // kep: http://kep.k8s.io/1287 - // alpha: v1.27 // // Enables In-Place Pod Vertical Scaling InPlacePodVerticalScaling featuregate.Feature = "InPlacePodVerticalScaling" // owner: @Sh4d1,@RyanAoh,@rikatz // kep: http://kep.k8s.io/1860 - // alpha: v1.29 - // beta: v1.30 - // GA: v1.32 // LoadBalancerIPMode enables the IPMode field in the LoadBalancerIngress status of a Service LoadBalancerIPMode featuregate.Feature = "LoadBalancerIPMode" // owner: @haircommander // kep: http://kep.k8s.io/4210 - // alpha: v1.29 - // beta: v1.30 // ImageMaximumGCAge enables the Kubelet configuration field of the same name, allowing an admin // to specify the age after which an image will be garbage collected. ImageMaximumGCAge featuregate.Feature = "ImageMaximumGCAge" // owner: @saschagrunert - // alpha: v1.29 // // Enables user namespace support for Pod Security Standards. Enabling this // feature will modify all Pod Security Standard rules to allow setting: @@ -921,21 +735,18 @@ const ( // owner: @jsafrane // kep: https://kep.k8s.io/1710 - // alpha: v1.30 // Speed up container startup by mounting volumes with the correct SELinux label // instead of changing each file on the volumes recursively. SELinuxMount featuregate.Feature = "SELinuxMount" // owner: @everpeace // kep: https://kep.k8s.io/3619 - // alpha: v1.31 // // Enable SupplementalGroupsPolicy feature in PodSecurityContext SupplementalGroupsPolicy featuregate.Feature = "SupplementalGroupsPolicy" // owner: @saschagrunert // kep: https://kep.k8s.io/4639 - // alpha: v1.31 // // Enables the image volume source. ImageVolume featuregate.Feature = "ImageVolume"