Merge pull request #44554 from sftim/20231228_improve_feature_gate_rendering

Improve feature gate rendering
pull/44571/head
Kubernetes Prow Robot 2024-01-02 22:48:13 +01:00 committed by GitHub
commit c169bebb47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 69 additions and 332 deletions

View File

@ -155,12 +155,6 @@ description of the feature gate is also required; create a new Markdown file
inside `content/en/docs/reference/command-line-tools-reference/feature-gates/`
(use other files as a template).
{{< note >}}
Make sure to add a
[`feature-gate-description` shortcode](/docs/contribute/style/hugo-shortcodes/#feature-gate-description)
into the feature gates page. The list is sorted alphabetically.
{{< /note >}}
When you change a feature gate to disabled-by-default to enabled-by-default,
you may also need to change other documentation (not just the list of
feature gates). Watch out for language such as ”The `exampleSetting` field
@ -195,11 +189,7 @@ Eventually, Kubernetes will stop including the feature gate at all. To signify t
include `removed: true` in the front matter of the respective description file.
This action triggers the transition of the feature gate
from [Feature gates for graduated or deprecated features](/docs/reference/command-line-tools-reference/feature-gates-removed/#feature-gates-that-are-removed) section to a dedicated page titled
[Feature Gates (removed)](/docs/reference/command-line-tools-reference/feature-gates-removed/).
Also make sure to move the relevant list entry and
[`feature-gate-description` shortcode](/docs/contribute/style/hugo-shortcodes/#feature-gate-description) into the
removed feature gates page. The lists are sorted alphabetically.
[Feature Gates (removed)](/docs/reference/command-line-tools-reference/feature-gates-removed/), including its description.
### All PRs reviewed and ready to merge

View File

@ -31,159 +31,5 @@ In the following table:
## Descriptions for removed feature gates
- {{< feature-gate-description name="Accelerators" >}}
- {{< feature-gate-description name="AffinityInAnnotations" >}}
- {{< feature-gate-description name="AdvancedAuditing" >}}
- {{< feature-gate-description name="AllowExtTrafficLocalEndpoints" >}}
- {{< feature-gate-description name="AllowInsecureBackendProxy" >}}
- {{< feature-gate-description name="AttachVolumeLimit" >}}
- {{< feature-gate-description name="BalanceAttachedNodeVolumes" >}}
- {{< feature-gate-description name="BlockVolume" >}}
- {{< feature-gate-description name="BoundServiceAccountTokenVolume" >}}
- {{< feature-gate-description name="CRIContainerLogRotation" >}}
- {{< feature-gate-description name="CSIBlockVolume" >}}
- {{< feature-gate-description name="CSIDriverRegistry" >}}
- {{< feature-gate-description name="CSIInlineVolume" >}}
- {{< feature-gate-description name="CSIMigration" >}}
- {{< feature-gate-description name="CSIMigrationAWS" >}}
- {{< feature-gate-description name="CSIMigrationAWSComplete" >}}
- {{< feature-gate-description name="CSIMigrationAzureDisk" >}}
- {{< feature-gate-description name="CSIMigrationAzureDiskComplete" >}}
- {{< feature-gate-description name="CSIMigrationAzureFileComplete" >}}
- {{< feature-gate-description name="CSIMigrationGCE" >}}
- {{< feature-gate-description name="CSIMigrationGCEComplete" >}}
- {{< feature-gate-description name="CSIMigrationOpenStack" >}}
- {{< feature-gate-description name="CSIMigrationOpenStackComplete" >}}
- {{< feature-gate-description name="CSIMigrationvSphereComplete" >}}
- {{< feature-gate-description name="CSIMigrationvSphere" >}}
- {{< feature-gate-description name="CSINodeInfo" >}}
- {{< feature-gate-description name="CSIPersistentVolume" >}}
- {{< feature-gate-description name="CSIServiceAccountToken" >}}
- {{< feature-gate-description name="CSIStorageCapacity" >}}
- {{< feature-gate-description name="CSIVolumeFSGroupPolicy" >}}
- {{< feature-gate-description name="CSRDuration" >}}
- {{< feature-gate-description name="ConfigurableFSGroupPolicy" >}}
- {{< feature-gate-description name="ControllerManagerLeaderMigration" >}}
- {{< feature-gate-description name="CronJobControllerV2" >}}
- {{< feature-gate-description name="CronJobTimeZone" >}}
- {{< feature-gate-description name="CustomPodDNS" >}}
- {{< feature-gate-description name="CustomResourceDefaulting" >}}
- {{< feature-gate-description name="CustomResourcePublishOpenAPI" >}}
- {{< feature-gate-description name="CustomResourceSubresources" >}}
- {{< feature-gate-description name="CustomResourceValidation" >}}
- {{< feature-gate-description name="CustomResourceWebhookConversion" >}}
- {{< feature-gate-description name="DaemonSetUpdateSurge" >}}
- {{< feature-gate-description name="DefaultPodTopologySpread" >}}
- {{< feature-gate-description name="DelegateFSGroupToCSIDriver" >}}
- {{< feature-gate-description name="DevicePlugins" >}}
- {{< feature-gate-description name="DisableAcceleratorUsageMetrics" >}}
- {{< feature-gate-description name="DownwardAPIHugePages" >}}
- {{< feature-gate-description name="DryRun" >}}
- {{< feature-gate-description name="DynamicAuditing" >}}
- {{< feature-gate-description name="DynamicKubeletConfig" >}}
- {{< feature-gate-description name="DynamicProvisioningScheduling" >}}
- {{< feature-gate-description name="DynamicVolumeProvisioning" >}}
- {{< feature-gate-description name="EnableAggregatedDiscoveryTimeout" >}}
- {{< feature-gate-description name="EnableEquivalenceClassCache" >}}
- {{< feature-gate-description name="EndpointSlice" >}}
- {{< feature-gate-description name="EndpointSliceNodeName" >}}
- {{< feature-gate-description name="EndpointSliceProxying" >}}
- {{< feature-gate-description name="EndpointSliceTerminatingCondition" >}}
- {{< feature-gate-description name="EphemeralContainers" >}}
- {{< feature-gate-description name="EvenPodsSpread" >}}
- {{< feature-gate-description name="ExpandCSIVolumes" >}}
- {{< feature-gate-description name="ExpandInUsePersistentVolumes" >}}
- {{< feature-gate-description name="ExpandPersistentVolumes" >}}
- {{< feature-gate-description name="ExperimentalCriticalPodAnnotation" >}}
- {{< feature-gate-description name="ExternalPolicyForExternalIP" >}}
- {{< feature-gate-description name="GCERegionalPersistentDisk" >}}
- {{< feature-gate-description name="GRPCContainerProbe" >}}
- {{< feature-gate-description name="GenericEphemeralVolume" >}}
- {{< feature-gate-description name="HugePageStorageMediumSize" >}}
- {{< feature-gate-description name="HugePages" >}}
- {{< feature-gate-description name="HyperVContainer" >}}
- {{< feature-gate-description name="IPv6DualStack" >}}
- {{< feature-gate-description name="IdentifyPodOS" >}}
- {{< feature-gate-description name="ImmutableEphemeralVolumes" >}}
- {{< feature-gate-description name="IndexedJob" >}}
- {{< feature-gate-description name="IngressClassNamespacedParams" >}}
- {{< feature-gate-description name="Initializers" >}}
- {{< feature-gate-description name="JobMutableNodeSchedulingDirectives" >}}
- {{< feature-gate-description name="JobTrackingWithFinalizers" >}}
- {{< feature-gate-description name="KubeletConfigFile" >}}
- {{< feature-gate-description name="KubeletCredentialProviders" >}}
- {{< feature-gate-description name="KubeletPluginsWatcher" >}}
- {{< feature-gate-description name="LegacyNodeRoleBehavior" >}}
- {{< feature-gate-description name="LegacyServiceAccountTokenNoAutoGeneration" >}}
- {{< feature-gate-description name="LocalStorageCapacityIsolation" >}}
- {{< feature-gate-description name="MixedProtocolLBService" >}}
- {{< feature-gate-description name="MountContainers" >}}
- {{< feature-gate-description name="MountPropagation" >}}
- {{< feature-gate-description name="MultiCIDRRangeAllocator" >}}
- {{< feature-gate-description name="NamespaceDefaultLabelName" >}}
- {{< feature-gate-description name="NetworkPolicyStatus" >}}
- {{< feature-gate-description name="NodeDisruptionExclusion" >}}
- {{< feature-gate-description name="NodeLease" >}}
- {{< feature-gate-description name="NonPreemptingPriority" >}}
- {{< feature-gate-description name="OpenAPIV3" >}}
- {{< feature-gate-description name="PVCProtection" >}}
- {{< feature-gate-description name="PersistentLocalVolumes" >}}
- {{< feature-gate-description name="PodAffinityNamespaceSelector" >}}
- {{< feature-gate-description name="PodDisruptionBudget" >}}
- {{< feature-gate-description name="PodHasNetworkCondition" >}}
- {{< feature-gate-description name="PodOverhead" >}}
- {{< feature-gate-description name="PodPriority" >}}
- {{< feature-gate-description name="PodReadinessGates" >}}
- {{< feature-gate-description name="PodSecurity" >}}
- {{< feature-gate-description name="PodShareProcessNamespace" >}}
- {{< feature-gate-description name="PreferNominatedNode" >}}
- {{< feature-gate-description name="ProbeTerminationGracePeriod" >}}
- {{< feature-gate-description name="RequestManagement" >}}
- {{< feature-gate-description name="ResourceLimitsPriorityFunction" >}}
- {{< feature-gate-description name="ResourceQuotaScopeSelectors" >}}
- {{< feature-gate-description name="RetroactiveDefaultStorageClass" >}}
- {{< feature-gate-description name="RootCAConfigMap" >}}
- {{< feature-gate-description name="RotateKubeletClientCertificate" >}}
- {{< feature-gate-description name="RunAsGroup" >}}
- {{< feature-gate-description name="RuntimeClass" >}}
- {{< feature-gate-description name="SCTPSupport" >}}
- {{< feature-gate-description name="ScheduleDaemonSetPods" >}}
- {{< feature-gate-description name="SeccompDefault" >}}
- {{< feature-gate-description name="SelectorIndex" >}}
- {{< feature-gate-description name="ServiceAccountIssuerDiscovery" >}}
- {{< feature-gate-description name="ServiceAppProtocol" >}}
- {{< feature-gate-description name="ServiceIPStaticSubrange" >}}
- {{< feature-gate-description name="ServiceInternalTrafficPolicy" >}}
- {{< feature-gate-description name="ServiceLoadBalancerClass" >}}
- {{< feature-gate-description name="ServiceLoadBalancerFinalizer" >}}
- {{< feature-gate-description name="ServiceLBNodePortControl" >}}
- {{< feature-gate-description name="ServiceNodeExclusion" >}}
- {{< feature-gate-description name="ServiceTopology" >}}
- {{< feature-gate-description name="SetHostnameAsFQDN" >}}
- {{< feature-gate-description name="StartupProbe" >}}
- {{< feature-gate-description name="StatefulSetMinReadySeconds" >}}
- {{< feature-gate-description name="StorageObjectInUseProtection" >}}
- {{< feature-gate-description name="StreamingProxyRedirects" >}}
- {{< feature-gate-description name="SupportIPVSProxyMode" >}}
- {{< feature-gate-description name="SupportNodePidsLimit" >}}
- {{< feature-gate-description name="SupportPodPidsLimit" >}}
- {{< feature-gate-description name="SuspendJob" >}}
- {{< feature-gate-description name="Sysctls" >}}
- {{< feature-gate-description name="TTLAfterFinished" >}}
- {{< feature-gate-description name="TaintBasedEvictions" >}}
- {{< feature-gate-description name="TaintNodesByCondition" >}}
- {{< feature-gate-description name="TokenRequest" >}}
- {{< feature-gate-description name="TokenRequestProjection" >}}
- {{< feature-gate-description name="TopologyManager" >}}
- {{< feature-gate-description name="UserNamespacesStatelessPodsSupport" >}}
- {{< feature-gate-description name="ValidateProxyRedirects" >}}
- {{< feature-gate-description name="VolumePVCDataSource" >}}
- {{< feature-gate-description name="VolumeScheduling" >}}
- {{< feature-gate-description name="VolumeSnapshotDataSource" >}}
- {{< feature-gate-description name="VolumeSubpath" >}}
- {{< feature-gate-description name="VolumeSubpathEnvExpansion" >}}
- {{< feature-gate-description name="WarningHeaders" >}}
- {{< feature-gate-description name="WindowsEndpointSliceProxying" >}}
- {{< feature-gate-description name="WindowsGMSA" >}}
- {{< feature-gate-description name="WindowsHostProcessContainers" >}}
- {{< feature-gate-description name="WindowsRunAsUserName" >}}
<!-- Want to edit this list? See https://k8s.io/docs/contribute/new-content/new-features/#ready-for-review-feature-gates -->
{{< feature-gate-list show-removed="true" >}}

View File

@ -102,171 +102,10 @@ A *General Availability* (GA) feature is also referred to as a *stable* feature.
## List of feature gates {#feature-gates}
Each feature gate is designed for enabling/disabling a specific feature:
Each feature gate is designed for enabling/disabling a specific feature.
- {{< feature-gate-description name="AdmissionWebhookMatchConditions" >}}
- {{< feature-gate-description name="AllowServiceLBStatusOnNonLB" >}}
- {{< feature-gate-description name="AggregatedDiscoveryEndpoint" >}}
- {{< feature-gate-description name="AnyVolumeDataSource" >}}
- {{< feature-gate-description name="APIListChunking" >}}
- {{< feature-gate-description name="APIPriorityAndFairness" >}}
- {{< feature-gate-description name="APIResponseCompression" >}}
- {{< feature-gate-description name="APISelfSubjectReview" >}}
- {{< feature-gate-description name="APIServerIdentity" >}}
- {{< feature-gate-description name="APIServerTracing" >}}
- {{< feature-gate-description name="AppArmor" >}}
- {{< feature-gate-description name="CloudControllerManagerWebhook" >}}
- {{< feature-gate-description name="CloudDualStackNodeIPs" >}}
- {{< feature-gate-description name="ClusterTrustBundle" >}}
- {{< feature-gate-description name="ClusterTrustBundleProjection" >}}
- {{< feature-gate-description name="ComponentSLIs" >}}
- {{< feature-gate-description name="ConsistentHTTPGetHandlers" >}}
- {{< feature-gate-description name="ConsistentListFromCache" >}}
- {{< feature-gate-description name="ContainerCheckpoint" >}}
- {{< feature-gate-description name="ContextualLogging" >}}
- {{< feature-gate-description name="CPUManager" >}}
- {{< feature-gate-description name="CPUManagerPolicyAlphaOptions" >}}
- {{< feature-gate-description name="CPUManagerPolicyBetaOptions" >}}
- {{< feature-gate-description name="CPUManagerPolicyOptions" >}}
- {{< feature-gate-description name="CRDValidationRatcheting" >}}
- {{< feature-gate-description name="CronJobsScheduledAnnotation" >}}
- {{< feature-gate-description name="CronJobTimeZone" >}}
- {{< feature-gate-description name="CrossNamespaceVolumeDataSource" >}}
- {{< feature-gate-description name="CSIMigrationAzureFile" >}}
- {{< feature-gate-description name="CSIMigrationPortworx" >}}
- {{< feature-gate-description name="CSIMigrationRBD" >}}
- {{< feature-gate-description name="CSINodeExpandSecret" >}}
- {{< feature-gate-description name="CSIVolumeHealth" >}}
- {{< feature-gate-description name="CustomCPUCFSQuotaPeriod" >}}
- {{< feature-gate-description name="CustomResourceValidationExpressions" >}}
- {{< feature-gate-description name="DefaultHostNetworkHostPortsInPodTemplates" >}}
- {{< feature-gate-description name="DevicePluginCDIDevices" >}}
- {{< feature-gate-description name="DisableCloudProviders" >}}
- {{< feature-gate-description name="DisableKubeletCloudCredentialProviders" >}}
- {{< feature-gate-description name="DisableNodeKubeProxyVersion" >}}
- {{< feature-gate-description name="DynamicResourceAllocation" >}}
- {{< feature-gate-description name="EfficientWatchResumption" >}}
- {{< feature-gate-description name="ElasticIndexedJob" >}}
- {{< feature-gate-description name="EventedPLEG" >}}
- {{< feature-gate-description name="ExecProbeTimeout" >}}
- {{< feature-gate-description name="ExpandedDNSConfig" >}}
- {{< feature-gate-description name="ExperimentalHostUserNamespaceDefaulting" >}}
- {{< feature-gate-description name="GracefulNodeShutdown" >}}
- {{< feature-gate-description name="GracefulNodeShutdownBasedOnPodPriority" >}}
- {{< feature-gate-description name="GRPCContainerProbe" >}}
- {{< feature-gate-description name="HonorPVReclaimPolicy" >}}
- {{< feature-gate-description name="HPAContainerMetrics" >}}
- {{< feature-gate-description name="HPAScaleToZero" >}}
- {{< feature-gate-description name="ImageMaximumGCAge" >}}
- {{< feature-gate-description name="InPlacePodVerticalScaling" >}}
- {{< feature-gate-description name="InTreePluginAWSUnregister" >}}
- {{< feature-gate-description name="InTreePluginAzureDiskUnregister" >}}
- {{< feature-gate-description name="InTreePluginAzureFileUnregister" >}}
- {{< feature-gate-description name="InTreePluginGCEUnregister" >}}
- {{< feature-gate-description name="InTreePluginOpenStackUnregister" >}}
- {{< feature-gate-description name="InTreePluginPortworxUnregister" >}}
- {{< feature-gate-description name="InTreePluginRBDUnregister" >}}
- {{< feature-gate-description name="InTreePluginvSphereUnregister" >}}
- {{< feature-gate-description name="IPTablesOwnershipCleanup" >}}
- {{< feature-gate-description name="JobBackoffLimitPerIndex" >}}
- {{< feature-gate-description name="JobMutableNodeSchedulingDirectives" >}}
- {{< feature-gate-description name="JobPodFailurePolicy" >}}
- {{< feature-gate-description name="JobPodReplacementPolicy" >}}
- {{< feature-gate-description name="JobReadyPods" >}}
- {{< feature-gate-description name="KMSv1" >}}
- {{< feature-gate-description name="KMSv2" >}}
- {{< feature-gate-description name="KMSv2KDF" >}}
- {{< feature-gate-description name="KubeletCgroupDriverFromCRI" >}}
- {{< feature-gate-description name="KubeletInUserNamespace" >}}
- {{< feature-gate-description name="KubeletPodResources" >}}
- {{< feature-gate-description name="KubeletPodResourcesDynamicResources" >}}
- {{< feature-gate-description name="KubeletPodResourcesGet" >}}
- {{< feature-gate-description name="KubeletPodResourcesGetAllocatable" >}}
- {{< feature-gate-description name="KubeletSeparateDiskGC" >}}
- {{< feature-gate-description name="KubeletTracing" >}}
- {{< feature-gate-description name="KubeProxyDrainingTerminatingNodes" >}}
- {{< feature-gate-description name="LegacyServiceAccountTokenCleanUp" >}}
- {{< feature-gate-description name="LegacyServiceAccountTokenNoAutoGeneration" >}}
- {{< feature-gate-description name="LegacyServiceAccountTokenTracking" >}}
- {{< feature-gate-description name="LoadBalancerIPMode" >}}
- {{< feature-gate-description name="LocalStorageCapacityIsolationFSQuotaMonitoring" >}}
- {{< feature-gate-description name="LogarithmicScaleDown" >}}
- {{< feature-gate-description name="LoggingAlphaOptions" >}}
- {{< feature-gate-description name="LoggingBetaOptions" >}}
- {{< feature-gate-description name="MatchLabelKeysInPodAffinity" >}}
- {{< feature-gate-description name="MatchLabelKeysInPodTopologySpread" >}}
- {{< feature-gate-description name="MaxUnavailableStatefulSet" >}}
- {{< feature-gate-description name="MemoryManager" >}}
- {{< feature-gate-description name="MemoryQoS" >}}
- {{< feature-gate-description name="MinDomainsInPodTopologySpread" >}}
- {{< feature-gate-description name="MinimizeIPTablesRestore" >}}
- {{< feature-gate-description name="MultiCIDRServiceAllocator" >}}
- {{< feature-gate-description name="NewVolumeManagerReconstruction" >}}
- {{< feature-gate-description name="NFTablesProxyMode" >}}
- {{< feature-gate-description name="NodeInclusionPolicyInPodTopologySpread" >}}
- {{< feature-gate-description name="NodeLogQuery" >}}
- {{< feature-gate-description name="NodeOutOfServiceVolumeDetach" >}}
- {{< feature-gate-description name="NodeSwap" >}}
- {{< feature-gate-description name="OpenAPIEnums" >}}
- {{< feature-gate-description name="PDBUnhealthyPodEvictionPolicy" >}}
- {{< feature-gate-description name="PersistentVolumeLastPhaseTransitionTime" >}}
- {{< feature-gate-description name="PodAndContainerStatsFromCRI" >}}
- {{< feature-gate-description name="PodDeletionCost" >}}
- {{< feature-gate-description name="PodDisruptionConditions" >}}
- {{< feature-gate-description name="PodHostIPs" >}}
- {{< feature-gate-description name="PodIndexLabel" >}}
- {{< feature-gate-description name="PodLifecycleSleepAction" >}}
- {{< feature-gate-description name="PodReadyToStartContainersCondition" >}}
- {{< feature-gate-description name="PodSchedulingReadiness" >}}
- {{< feature-gate-description name="ProcMountType" >}}
- {{< feature-gate-description name="ProxyTerminatingEndpoints" >}}
- {{< feature-gate-description name="QOSReserved" >}}
- {{< feature-gate-description name="ReadWriteOncePod" >}}
- {{< feature-gate-description name="RecoverVolumeExpansionFailure" >}}
- {{< feature-gate-description name="RemainingItemCount" >}}
- {{< feature-gate-description name="RemoveSelfLink" >}}
- {{< feature-gate-description name="RotateKubeletServerCertificate" >}}
- {{< feature-gate-description name="RuntimeClassInImageCriApi" >}}
- {{< feature-gate-description name="SchedulerQueueingHints" >}}
- {{< feature-gate-description name="SecurityContextDeny" >}}
- {{< feature-gate-description name="SELinuxMountReadWriteOncePod" >}}
- {{< feature-gate-description name="SeparateTaintEvictionController" >}}
- {{< feature-gate-description name="ServerSideApply" >}}
- {{< feature-gate-description name="ServerSideFieldValidation" >}}
- {{< feature-gate-description name="ServiceAccountTokenJTI" >}}
- {{< feature-gate-description name="ServiceAccountTokenNodeBinding" >}}
- {{< feature-gate-description name="ServiceAccountTokenNodeBindingValidation" >}}
- {{< feature-gate-description name="ServiceAccountTokenPodNodeInfo" >}}
- {{< feature-gate-description name="ServiceNodePortStaticSubrange" >}}
- {{< feature-gate-description name="SidecarContainers" >}}
- {{< feature-gate-description name="SizeMemoryBackedVolumes" >}}
- {{< feature-gate-description name="SkipReadOnlyValidationGCE" >}}
- {{< feature-gate-description name="StableLoadBalancerNodeSet" >}}
- {{< feature-gate-description name="StatefulSetAutoDeletePVC" >}}
- {{< feature-gate-description name="StatefulSetStartOrdinal" >}}
- {{< feature-gate-description name="StorageVersionAPI" >}}
- {{< feature-gate-description name="StorageVersionHash" >}}
- {{< feature-gate-description name="StructuredAuthenticationConfiguration" >}}
- {{< feature-gate-description name="StructuredAuthorizationConfiguration" >}}
- {{< feature-gate-description name="TopologyAwareHints" >}}
- {{< feature-gate-description name="TopologyManager" >}}
- {{< feature-gate-description name="TopologyManagerPolicyAlphaOptions" >}}
- {{< feature-gate-description name="TopologyManagerPolicyBetaOptions" >}}
- {{< feature-gate-description name="TopologyManagerPolicyOptions" >}}
- {{< feature-gate-description name="TranslateStreamCloseWebsocketRequests" >}}
- {{< feature-gate-description name="UnauthenticatedHTTP2DOSMitigation" >}}
- {{< feature-gate-description name="UnknownVersionInteroperabilityProxy" >}}
- {{< feature-gate-description name="UserNamespacesPodSecurityStandards" >}}
- {{< feature-gate-description name="UserNamespacesSupport" >}}
- {{< feature-gate-description name="ValidatingAdmissionPolicy" >}}
- {{< feature-gate-description name="VolumeAttributesClass" >}}
- {{< feature-gate-description name="VolumeCapacityPriority" >}}
- {{< feature-gate-description name="WatchBookmark" >}}
- {{< feature-gate-description name="WatchList" >}}
- {{< feature-gate-description name="WindowsHostNetwork" >}}
- {{< feature-gate-description name="WinDSR" >}}
- {{< feature-gate-description name="WinOverlay" >}}
- {{< feature-gate-description name="ZeroLimitedNominalConcurrencyShares" >}}
<!-- Want to edit this list? See https://k8s.io/docs/contribute/new-content/new-features/#ready-for-review-feature-gates -->
{{< feature-gate-list include="alpha,beta,ga,deprecated" >}}
## {{% heading "whatsnext" %}}

View File

@ -0,0 +1,60 @@
{{- $featureDataFiles := .Site.GetPage "page" "docs/reference/command-line-tools-reference/feature-gates" -}}
<!-- Check if 'show-removed' is passed to the shortcode to display only 'removed' feature gates -->
{{- $removedFeatureGateRequested := .Get "show-removed" -}}
<!-- Extract value for the 'include' parameter passed to the shortcode -->
{{- $includeValues := .Get "include" -}}
<!-- Sort Feature gate pages list -->
{{- $sortedFeatureGates := sort ($featureDataFiles.Resources.ByType "page") -}}
<ul class="feature-gate-list">
{{- range $featureGateFile := $sortedFeatureGates -}}
<!-- Extract the feature gate name from the "Title" parameter in file -->
{{- $featureGateName := $featureGateFile.Params.Title -}}
<!-- Extract the feature gate status (i.e. removed or not) from the "Removed" parameter in file -->
{{- $removedStatusForFeature := index $featureGateFile.Params.Removed -}}
{{- $shouldDisplayThisFeatureGate := false -}}
<!-- Check if 'stages' parameter is missing in the front matter -->
{{- if not (isSet $featureGateFile.Params "stages") -}}
{{- warnf "Stages parameter is missing in the front matter for %s in %s" $featureGateName (print $featureGateFile.File.Lang "/" $featureGateFile.File.Path) -}}
{{- else -}}
<!-- Iterate through stages for current Feature gate to check for "stable" or "deprecated" stage -->
{{- range $stage := $featureGateFile.Params.stages -}}
{{- if and (eq ($stage).stage "stable") (in $includeValues "ga") -}}
{{- $shouldDisplayThisFeatureGate = true -}}
{{- continue -}}
{{- end -}}
{{- if (in $includeValues ($stage).stage ) -}}
{{- $shouldDisplayThisFeatureGate = true -}}
{{- continue -}}
{{- end -}}
{{- end -}}
{{- if and (not $removedFeatureGateRequested) ($removedStatusForFeature) -}}
{{- $shouldDisplayThisFeatureGate = false -}}
{{- end -}}
{{- if and ($removedFeatureGateRequested) ($removedStatusForFeature) -}}
{{- $shouldDisplayThisFeatureGate = true -}}
{{- end -}}
{{- end -}}
{{- if $shouldDisplayThisFeatureGate -}}
{{- with $featureGateFile.Content -}}
<li>
{{- $hasParagraphWrapper := (hasPrefix ( . | markdownify ) "<p>") -}}
{{- if not $hasParagraphWrapper }}<p>{{ end -}}
<code class="feature-gate-name">{{ $featureGateName }}</code>: {{ . | markdownify -}}
{{- if not $hasParagraphWrapper }}</p>{{ end -}}
</li>
{{- end -}}
{{- end -}}
{{- end -}}
</ul>

View File

@ -77,6 +77,8 @@
{{- end -}}
{{- end -}}
{{- $featureDescription := $featureGateFile.Content | plainify -}}
{{- range $featureGate := $featureGateFile.Params.stages -}}
<!-- Check if the 'stage' value is valid -->
{{- $validStages := slice "alpha" "beta" "stable" "deprecated" -}}
@ -101,7 +103,7 @@
<!-- Display feature gate information in table rows -->
<tr>
<td><code>{{- $featureGateName -}}</code></td>
<td><code title="{{- $featureDescription -}}">{{- $featureGateName -}}</code></td>
<td>{{- if isSet $featureGate "defaultValue" -}}<code>{{- $featureGate.defaultValue -}}</code>{{- else -}}{{- end -}}</td>
<td>{{- T (printf "feature_gate_stage_%s" $featureGate.stage) -}}</td>
<td>{{- $featureGate.fromVersion -}}</td>