Documentation ¶
Index ¶
Constants ¶
const ( // HVPA enables simultaneous horizontal and vertical scaling in Seed Clusters. // owner @shreyas-s-rao @voelzmo // alpha: v0.31.0 HVPA featuregate.Feature = "HVPA" // HVPAForShootedSeed enables simultaneous horizontal and vertical scaling in shooted seed Clusters. // owner @shreyas-s-rao @voelzmo // alpha: v0.32.0 HVPAForShootedSeed featuregate.Feature = "HVPAForShootedSeed" // ManagedIstio installs minimal Istio components in istio-system. // Disable this feature if Istio is already installed in the cluster. // Istio is not automatically removed if this feature is set to false. // See https://github.com/gardener/gardener/blob/master/docs/usage/istio.md // owner @ScheererJ @DockToFuture // alpha: v1.5.0 // beta: v1.19.0 // deprecated: v1.48.0 ManagedIstio featuregate.Feature = "ManagedIstio" // APIServerSNI allows to use only one LoadBalancer in the Seed cluster // for all Shoot clusters. Requires Istio to be installed in the cluster or // ManagedIstio feature gate to be enabled. // See https://github.com/gardener/gardener/blob/master/docs/proposals/08-shoot-apiserver-via-sni.md // owner @ScheererJ @DockToFuture // alpha: v1.7.0 // beta: v1.19.0 // deprecated: v1.48.0 APIServerSNI featuregate.Feature = "APIServerSNI" // SeedChange enables updating the `spec.seedName` field during shoot validation from a non-empty value // in order to trigger shoot control plane migration. // owner: @plkokanov // alpha: v1.12.0 // beta: v1.53.0 // GA: v1.69.0 SeedChange featuregate.Feature = "SeedChange" // ReversedVPN moves the openvpn server to the seed. // owner: @ScheererJ @DockToFuture // alpha: v1.22.0 // beta: v1.42.0 // GA: v1.63.0 ReversedVPN featuregate.Feature = "ReversedVPN" // CopyEtcdBackupsDuringControlPlaneMigration enables the copy of etcd backups from the object store of the source seed // to the object store of the destination seed during control plane migration. // owner: @plkokanov // alpha: v1.37.0 // beta: v1.53.0 // GA: v1.69.0 CopyEtcdBackupsDuringControlPlaneMigration featuregate.Feature = "CopyEtcdBackupsDuringControlPlaneMigration" // HAControlPlanes allows shoot control planes to be run in high availability mode. // owner: @shreyas-s-rao @timuthy // alpha: v1.49.0 HAControlPlanes featuregate.Feature = "HAControlPlanes" // DefaultSeccompProfile defaults the seccomp profile for Gardener managed workload in the seed to RuntimeDefault. // owner: @dimityrmirchev // alpha: v1.54.0 DefaultSeccompProfile featuregate.Feature = "DefaultSeccompProfile" // CoreDNSQueryRewriting enables automatic DNS query rewriting in shoot cluster's CoreDNS to shortcut name resolution of // fully qualified in-cluster and out-of-cluster names, which follow a user-defined pattern. // owner: @ScheererJ @DockToFuture // alpha: v1.55.0 CoreDNSQueryRewriting featuregate.Feature = "CoreDNSQueryRewriting" // IPv6SingleStack allows creating shoot clusters with IPv6 single-stack networking (GEP-21). // owner: @timebertt // alpha: v1.63.0 IPv6SingleStack featuregate.Feature = "IPv6SingleStack" // MutableShootSpecNetworkingNodes allows updating the field `spec.networking.nodes`. // owner: @axel7born @ScheererJ @DockToFuture @kon-angelo // alpha: v1.64.0 MutableShootSpecNetworkingNodes featuregate.Feature = "MutableShootSpecNetworkingNodes" // FullNetworkPoliciesInRuntimeCluster enables gardenlet's NetworkPolicy controller to place 'deny-all' network policies in // all relevant namespaces in the seed cluster. // owner: @rfranzke // alpha: v1.66.0 FullNetworkPoliciesInRuntimeCluster featuregate.Feature = "FullNetworkPoliciesInRuntimeCluster" )
Variables ¶
var DefaultFeatureGate = utilfeature.DefaultMutableFeatureGate
DefaultFeatureGate is the central feature gate map used by all gardener components. On startup, the component needs to register all feature gates that are available for this component via `Add`, e.g.:
utilruntime.Must(features.DefaultFeatureGate.Add(features.GetFeatures( features.HAControlPlanes, )))
With this, every component has its individual set of available feature gates (different to Kubernetes, where all components have all feature gates even if irrelevant). Additionally, the component needs to set the feature gates' states based on the operator's configuration, e.g.:
features.DefaultFeatureGate.SetFromMap(o.config.FeatureGates)
For checking whether a given feature gate is enabled (regardless of which component the code is executed in), use:
features.DefaultFeatureGate.Enabled(features.IPv6SingleStack)
With this, code that needs to check a given feature gate's state can be shared across components, e.g. in API validation code for Seeds (executed in gardener-apiserver and gardenlet). This variable is an alias to the feature gate map in the apiserver library. The library doesn't allow using a custom feature gate map for gardener-apiserver. Hence, we reuse it for all our components.
Functions ¶
func GetFeatures ¶ added in v1.43.0
func GetFeatures(featureGates ...featuregate.Feature) map[featuregate.Feature]featuregate.FeatureSpec
GetFeatures returns a feature gate map with the respective specifications. Non-existing feature gates are ignored.
Types ¶
This section is empty.