Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // PluginsInMigration is the list of plugins which can be specified in the Shoot spec if the constraints are satisfied. This is required to facilitate migration of // these plugins in some cases. For example, the "PodSecurityPolicy" plugin should be disabled in the Shoot spec for an upgrade from Kubernetes v1.24 to v1.25, but in v1.25 // this plugin is not supported. gardener-apiserver will take care to clean this plugin from the spec. See https://github.com/gardener/gardener/pull/8212 for more details. PluginsInMigration = map[string]*semver.Constraints{ "PodSecurityPolicy": versionutils.ConstraintK8sGreaterEqual125, } )
Functions ¶
func IsAdmissionPluginSupported ¶
IsAdmissionPluginSupported returns true if the given admission plugin is supported for the given Kubernetes version. An admission plugin is only supported if it's a known admission plugin and its version range contains the given Kubernetes version.
func ValidateAdmissionPlugins ¶
func ValidateAdmissionPlugins(admissionPlugins []core.AdmissionPlugin, version string, fldPath *field.Path) field.ErrorList
ValidateAdmissionPlugins validates the given Kubernetes admission plugins against the given Kubernetes version.
Types ¶
type AdmissionPluginVersionRange ¶
type AdmissionPluginVersionRange struct { Forbidden bool Required bool AddedInVersion string RemovedInVersion string }
AdmissionPluginVersionRange represents a version range of type [AddedInVersion, RemovedInVersion).
func (*AdmissionPluginVersionRange) Contains ¶
func (r *AdmissionPluginVersionRange) Contains(version string) (bool, error)
Contains returns true if the range contains the given version, false otherwise. The range contains the given version only if it's greater or equal than AddedInVersion (always true if AddedInVersion is empty), and less than RemovedInVersion (always true if RemovedInVersion is empty).