package initializer
import "k8s.io/apiserver/pkg/admission/initializer"
Index ¶
- func New( extClientset kubernetes.Interface, dynamicClient dynamic.Interface, extInformers informers.SharedInformerFactory, authz authorizer.Authorizer, featureGates featuregate.FeatureGate, stopCh <-chan struct{}, restMapper meta.RESTMapper, ) pluginInitializer
- type WantsAuthorizer
- type WantsDrainedNotification
- type WantsDynamicClient
- type WantsExcludedAdmissionResources
- type WantsExternalKubeClientSet
- type WantsExternalKubeInformerFactory
- type WantsFeatures
- type WantsQuotaConfiguration
- type WantsRESTMapper
- type WantsSchemaResolver
Functions ¶
func New ¶
func New( extClientset kubernetes.Interface, dynamicClient dynamic.Interface, extInformers informers.SharedInformerFactory, authz authorizer.Authorizer, featureGates featuregate.FeatureGate, stopCh <-chan struct{}, restMapper meta.RESTMapper, ) pluginInitializer
New creates an instance of admission plugins initializer. This constructor is public with a long param list so that callers immediately know that new information can be expected during compilation when they update a level.
Types ¶
type WantsAuthorizer ¶
type WantsAuthorizer interface { SetAuthorizer(authorizer.Authorizer) admission.InitializationValidator }
WantsAuthorizer defines a function which sets Authorizer for admission plugins that need it.
type WantsDrainedNotification ¶
type WantsDrainedNotification interface { SetDrainedNotification(<-chan struct{}) admission.InitializationValidator }
WantsDrainedNotification defines a function which sets the notification of where the apiserver has already been drained for admission plugins that need it. After receiving that notification, Admit/Validate calls won't be called anymore.
type WantsDynamicClient ¶
type WantsDynamicClient interface { SetDynamicClient(dynamic.Interface) admission.InitializationValidator }
type WantsExcludedAdmissionResources ¶
type WantsExcludedAdmissionResources interface { SetExcludedAdmissionResources(excludedAdmissionResources []schema.GroupResource) admission.InitializationValidator }
WantsExcludedAdmissionResources defines a function which sets the ExcludedAdmissionResources for an admission plugin that needs it.
type WantsExternalKubeClientSet ¶
type WantsExternalKubeClientSet interface { SetExternalKubeClientSet(kubernetes.Interface) admission.InitializationValidator }
WantsExternalKubeClientSet defines a function which sets external ClientSet for admission plugins that need it
type WantsExternalKubeInformerFactory ¶
type WantsExternalKubeInformerFactory interface { SetExternalKubeInformerFactory(informers.SharedInformerFactory) admission.InitializationValidator }
WantsExternalKubeInformerFactory defines a function which sets InformerFactory for admission plugins that need it
type WantsFeatures ¶
type WantsFeatures interface { InspectFeatureGates(featuregate.FeatureGate) admission.InitializationValidator }
WantsFeatureGate defines a function which passes the featureGates for inspection by an admission plugin. Admission plugins should not hold a reference to the featureGates. Instead, they should query a particular one and assign it to a simple bool in the admission plugin struct.
func (a *admissionPlugin) InspectFeatureGates(features featuregate.FeatureGate){ a.myFeatureIsOn = features.Enabled("my-feature") }
type WantsQuotaConfiguration ¶
type WantsQuotaConfiguration interface { SetQuotaConfiguration(quota.Configuration) admission.InitializationValidator }
WantsQuotaConfiguration defines a function which sets quota configuration for admission plugins that need it.
type WantsRESTMapper ¶
type WantsRESTMapper interface { SetRESTMapper(meta.RESTMapper) admission.InitializationValidator }
WantsRESTMapper defines a function which sets RESTMapper for admission plugins that need it.
type WantsSchemaResolver ¶
type WantsSchemaResolver interface { SetSchemaResolver(resolver resolver.SchemaResolver) admission.InitializationValidator }
WantsSchemaResolver defines a function which sets the SchemaResolver for an admission plugin that needs it.
Source Files ¶
initializer.go interfaces.go
- Version
- v0.33.0 (latest)
- Published
- Apr 23, 2025
- Platform
- linux/amd64
- Imports
- 10 packages
- Last checked
- 1 hour ago –
Tools for package owners.