aboutsummaryrefslogtreecommitdiff
path: root/vendor/k8s.io/kubernetes/pkg/features/kube_features.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/k8s.io/kubernetes/pkg/features/kube_features.go')
-rw-r--r--vendor/k8s.io/kubernetes/pkg/features/kube_features.go326
1 files changed, 0 insertions, 326 deletions
diff --git a/vendor/k8s.io/kubernetes/pkg/features/kube_features.go b/vendor/k8s.io/kubernetes/pkg/features/kube_features.go
deleted file mode 100644
index c2fb4896d..000000000
--- a/vendor/k8s.io/kubernetes/pkg/features/kube_features.go
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
-Copyright 2017 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"
- genericfeatures "k8s.io/apiserver/pkg/features"
- utilfeature "k8s.io/apiserver/pkg/util/feature"
-)
-
-const (
- // Every feature gate should add method here following this template:
- //
- // // owner: @username
- // // alpha: v1.X
- // MyFeature utilfeature.Feature = "MyFeature"
-
- // owner: @tallclair
- // beta: v1.4
- AppArmor utilfeature.Feature = "AppArmor"
-
- // owner: @mtaufen
- // alpha: v1.4
- DynamicKubeletConfig utilfeature.Feature = "DynamicKubeletConfig"
-
- // owner: @pweil-
- // alpha: v1.5
- //
- // Default userns=host for containers that are using other host namespaces, host mounts, the pod
- // contains a privileged container, or specific non-namespaced capabilities (MKNOD, SYS_MODULE,
- // SYS_TIME). This should only be enabled if user namespace remapping is enabled in the docker daemon.
- ExperimentalHostUserNamespaceDefaultingGate utilfeature.Feature = "ExperimentalHostUserNamespaceDefaulting"
-
- // owner: @vishh
- // alpha: v1.5
- //
- // Ensures guaranteed scheduling of pods marked with a special pod annotation `scheduler.alpha.kubernetes.io/critical-pod`
- // and also prevents them from being evicted from a node.
- // Note: This feature is not supported for `BestEffort` pods.
- ExperimentalCriticalPodAnnotation utilfeature.Feature = "ExperimentalCriticalPodAnnotation"
-
- // owner: @vishh
- // alpha: v1.6
- //
- // This is deprecated and will be removed in v1.11. Use DevicePlugins instead.
- //
- // Enables support for GPUs as a schedulable resource.
- // Only Nvidia GPUs are supported as of v1.6.
- // Works only with Docker Container Runtime.
- Accelerators utilfeature.Feature = "Accelerators"
-
- // owner: @jiayingz
- // beta: v1.10
- //
- // Enables support for Device Plugins
- DevicePlugins utilfeature.Feature = "DevicePlugins"
-
- // owner: @gmarek
- // alpha: v1.6
- //
- // Changes the logic behind evicting Pods from not ready Nodes
- // to take advantage of NoExecute Taints and Tolerations.
- TaintBasedEvictions utilfeature.Feature = "TaintBasedEvictions"
-
- // owner: @jcbsmpsn
- // alpha: v1.7
- //
- // Gets a server certificate for the kubelet from the Certificate Signing
- // Request API instead of generating one self signed and auto rotates the
- // certificate as expiration approaches.
- RotateKubeletServerCertificate utilfeature.Feature = "RotateKubeletServerCertificate"
-
- // owner: @jcbsmpsn
- // alpha: v1.7
- //
- // Automatically renews the client certificate used for communicating with
- // the API server as the certificate approaches expiration.
- RotateKubeletClientCertificate utilfeature.Feature = "RotateKubeletClientCertificate"
-
- // owner: @msau42
- // alpha: v1.7
- //
- // A new volume type that supports local disks on a node.
- PersistentLocalVolumes utilfeature.Feature = "PersistentLocalVolumes"
-
- // owner: @jinxu
- // alpha: v1.7
- //
- // New local storage types to support local storage capacity isolation
- LocalStorageCapacityIsolation utilfeature.Feature = "LocalStorageCapacityIsolation"
-
- // owner: @gnufied
- // alpha: v1.8
- // Ability to Expand persistent volumes
- ExpandPersistentVolumes utilfeature.Feature = "ExpandPersistentVolumes"
-
- // owner: @verb
- // alpha: v1.10
- //
- // Allows running a "debug container" in a pod namespaces to troubleshoot a running pod.
- DebugContainers utilfeature.Feature = "DebugContainers"
-
- // owner: @verb
- // alpha: v1.10
- //
- // Allows all containers in a pod to share a process namespace.
- PodShareProcessNamespace utilfeature.Feature = "PodShareProcessNamespace"
-
- // owner: @bsalamat
- // alpha: v1.8
- //
- // Add priority to pods. Priority affects scheduling and preemption of pods.
- PodPriority utilfeature.Feature = "PodPriority"
-
- // owner: @resouer
- // alpha: v1.8
- //
- // Enable equivalence class cache for scheduler.
- EnableEquivalenceClassCache utilfeature.Feature = "EnableEquivalenceClassCache"
-
- // owner: @k82cn
- // alpha: v1.8
- //
- // Taint nodes based on their condition status for 'NetworkUnavailable',
- // 'MemoryPressure', 'OutOfDisk' and 'DiskPressure'.
- TaintNodesByCondition utilfeature.Feature = "TaintNodesByCondition"
-
- // owner: @jsafrane
- // beta: v1.10
- //
- // Enable mount propagation of volumes.
- MountPropagation utilfeature.Feature = "MountPropagation"
-
- // owner: @ConnorDoyle
- // alpha: v1.8
- //
- // Alternative container-level CPU affinity policies.
- CPUManager utilfeature.Feature = "CPUManager"
-
- // owner: @derekwaynecarr
- // beta: v1.10
- //
- // Enable pods to consume pre-allocated huge pages of varying page sizes
- HugePages utilfeature.Feature = "HugePages"
-
- // owner @brendandburns
- // alpha: v1.9
- //
- // Enable nodes to exclude themselves from service load balancers
- ServiceNodeExclusion utilfeature.Feature = "ServiceNodeExclusion"
-
- // owner @brendandburns
- // deprecated: v1.10
- //
- // Enable the service proxy to contact external IP addresses. Note this feature is present
- // only for backward compatibility, it will be removed in the 1.11 release.
- ServiceProxyAllowExternalIPs utilfeature.Feature = "ServiceProxyAllowExternalIPs"
-
- // owner: @jsafrane
- // alpha: v1.9
- //
- // Enable running mount utilities in containers.
- MountContainers utilfeature.Feature = "MountContainers"
-
- // owner: @msau42
- // alpha: v1.9
- //
- // Extend the default scheduler to be aware of PV topology and handle PV binding
- // Before moving to beta, resolve Kubernetes issue #56180
- VolumeScheduling utilfeature.Feature = "VolumeScheduling"
-
- // owner: @vladimirvivien
- // alpha: v1.9
- //
- // Enable mount/attachment of Container Storage Interface (CSI) backed PVs
- CSIPersistentVolume utilfeature.Feature = "CSIPersistentVolume"
-
- // owner @MrHohn
- // beta: v1.10
- //
- // Support configurable pod DNS parameters.
- CustomPodDNS utilfeature.Feature = "CustomPodDNS"
-
- // owner: @screeley44
- // alpha: v1.9
- //
- // Enable Block volume support in containers.
- BlockVolume utilfeature.Feature = "BlockVolume"
-
- // owner: @pospispa
- // beta: v1.10
- //
- // Postpone deletion of a PV or a PVC when they are being used
- StorageObjectInUseProtection utilfeature.Feature = "StorageObjectInUseProtection"
-
- // owner: @aveshagarwal
- // alpha: v1.9
- //
- // Enable resource limits priority function
- ResourceLimitsPriorityFunction utilfeature.Feature = "ResourceLimitsPriorityFunction"
-
- // owner: @m1093782566
- // beta: v1.9
- //
- // Implement IPVS-based in-cluster service load balancing
- SupportIPVSProxyMode utilfeature.Feature = "SupportIPVSProxyMode"
-
- // owner: @dims
- // alpha: v1.10
- //
- // Implement support for limiting pids in pods
- SupportPodPidsLimit utilfeature.Feature = "SupportPodPidsLimit"
-
- // owner: @feiskyer
- // alpha: v1.10
- //
- // Enable Hyper-V containers on Windows
- HyperVContainer utilfeature.Feature = "HyperVContainer"
-
- // owner: @joelsmith
- // deprecated: v1.10
- //
- // Mount secret, configMap, downwardAPI and projected volumes ReadOnly. Note: this feature
- // gate is present only for backward compatibility, it will be removed in the 1.11 release.
- ReadOnlyAPIDataVolumes utilfeature.Feature = "ReadOnlyAPIDataVolumes"
-
- // owner: @k82cn
- // alpha: v1.10
- //
- // Schedule DaemonSet Pods by default scheduler instead of DaemonSet controller
- NoDaemonSetScheduler utilfeature.Feature = "NoDaemonSetScheduler"
-
- // owner: @mikedanese
- // alpha: v1.10
- //
- // Implement TokenRequest endpoint on service account resources.
- TokenRequest utilfeature.Feature = "TokenRequest"
-
- // owner: @Random-Liu
- // alpha: v1.10
- //
- // Enable container log rotation for cri container runtime
- CRIContainerLogRotation utilfeature.Feature = "CRIContainerLogRotation"
-
- // owner: @verult
- // beta: v1.10
- //
- // Enables the regional PD feature on GCE.
- GCERegionalPersistentDisk utilfeature.Feature = "GCERegionalPersistentDisk"
-)
-
-func init() {
- utilfeature.DefaultFeatureGate.Add(defaultKubernetesFeatureGates)
-}
-
-// defaultKubernetesFeatureGates consists of all known Kubernetes-specific feature keys.
-// To add a new feature, define a key for it above and add it here. The features will be
-// available throughout Kubernetes binaries.
-var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureSpec{
- AppArmor: {Default: true, PreRelease: utilfeature.Beta},
- DynamicKubeletConfig: {Default: false, PreRelease: utilfeature.Alpha},
- ExperimentalHostUserNamespaceDefaultingGate: {Default: false, PreRelease: utilfeature.Beta},
- ExperimentalCriticalPodAnnotation: {Default: false, PreRelease: utilfeature.Alpha},
- Accelerators: {Default: false, PreRelease: utilfeature.Alpha},
- DevicePlugins: {Default: true, PreRelease: utilfeature.Beta},
- TaintBasedEvictions: {Default: false, PreRelease: utilfeature.Alpha},
- RotateKubeletServerCertificate: {Default: false, PreRelease: utilfeature.Alpha},
- RotateKubeletClientCertificate: {Default: true, PreRelease: utilfeature.Beta},
- PersistentLocalVolumes: {Default: true, PreRelease: utilfeature.Beta},
- LocalStorageCapacityIsolation: {Default: false, PreRelease: utilfeature.Alpha},
- HugePages: {Default: true, PreRelease: utilfeature.Beta},
- DebugContainers: {Default: false, PreRelease: utilfeature.Alpha},
- PodShareProcessNamespace: {Default: false, PreRelease: utilfeature.Alpha},
- PodPriority: {Default: false, PreRelease: utilfeature.Alpha},
- EnableEquivalenceClassCache: {Default: false, PreRelease: utilfeature.Alpha},
- TaintNodesByCondition: {Default: false, PreRelease: utilfeature.Alpha},
- MountPropagation: {Default: true, PreRelease: utilfeature.Beta},
- ExpandPersistentVolumes: {Default: false, PreRelease: utilfeature.Alpha},
- CPUManager: {Default: true, PreRelease: utilfeature.Beta},
- ServiceNodeExclusion: {Default: false, PreRelease: utilfeature.Alpha},
- MountContainers: {Default: false, PreRelease: utilfeature.Alpha},
- VolumeScheduling: {Default: true, PreRelease: utilfeature.Beta},
- CSIPersistentVolume: {Default: true, PreRelease: utilfeature.Beta},
- CustomPodDNS: {Default: true, PreRelease: utilfeature.Beta},
- BlockVolume: {Default: false, PreRelease: utilfeature.Alpha},
- StorageObjectInUseProtection: {Default: true, PreRelease: utilfeature.Beta},
- ResourceLimitsPriorityFunction: {Default: false, PreRelease: utilfeature.Alpha},
- SupportIPVSProxyMode: {Default: true, PreRelease: utilfeature.Beta},
- SupportPodPidsLimit: {Default: false, PreRelease: utilfeature.Alpha},
- HyperVContainer: {Default: false, PreRelease: utilfeature.Alpha},
- NoDaemonSetScheduler: {Default: false, PreRelease: utilfeature.Alpha},
- TokenRequest: {Default: false, PreRelease: utilfeature.Alpha},
- CRIContainerLogRotation: {Default: false, PreRelease: utilfeature.Alpha},
- GCERegionalPersistentDisk: {Default: true, PreRelease: utilfeature.Beta},
-
- // inherited features from generic apiserver, relisted here to get a conflict if it is changed
- // unintentionally on either side:
- genericfeatures.StreamingProxyRedirects: {Default: true, PreRelease: utilfeature.Beta},
- genericfeatures.AdvancedAuditing: {Default: true, PreRelease: utilfeature.Beta},
- genericfeatures.APIResponseCompression: {Default: false, PreRelease: utilfeature.Alpha},
- genericfeatures.Initializers: {Default: false, PreRelease: utilfeature.Alpha},
- genericfeatures.APIListChunking: {Default: true, PreRelease: utilfeature.Beta},
-
- // inherited features from apiextensions-apiserver, relisted here to get a conflict if it is changed
- // unintentionally on either side:
- apiextensionsfeatures.CustomResourceValidation: {Default: true, PreRelease: utilfeature.Beta},
- apiextensionsfeatures.CustomResourceSubresources: {Default: false, PreRelease: utilfeature.Alpha},
-
- // features that enable backwards compatibility but are scheduled to be removed
- ServiceProxyAllowExternalIPs: {Default: false, PreRelease: utilfeature.Deprecated},
- ReadOnlyAPIDataVolumes: {Default: true, PreRelease: utilfeature.Deprecated},
-}