apiserverk8s.io/apiserver/pkg/admission/initializer Index | Files

package initializer

import "k8s.io/apiserver/pkg/admission/initializer"

Index

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.