kubernetesk8s.io/kubernetes/pkg/kubeapiserver/admission Index | Files | Directories

package admission

import "k8s.io/kubernetes/pkg/kubeapiserver/admission"

Index

Types

type Config

type Config struct {
	CloudConfigFile      string
	LoopbackClientConfig *rest.Config
	ExternalInformers    externalinformers.SharedInformerFactory
}

Config holds the configuration needed to for initialize the admission plugins

func (*Config) New

func (c *Config) New(proxyTransport *http.Transport, egressSelector *egressselector.EgressSelector, serviceResolver webhook.ServiceResolver, tp trace.TracerProvider) ([]admission.PluginInitializer, error)

New sets up the plugins and admission start hooks needed for admission

type PluginInitializer

type PluginInitializer struct {
	// contains filtered or unexported fields
}

PluginInitializer is used for initialization of the Kubernetes specific admission plugins.

func NewPluginInitializer

func NewPluginInitializer(
	cloudConfig []byte,
	quotaConfiguration quota.Configuration,
	excludedAdmissionResources []schema.GroupResource,
) *PluginInitializer

NewPluginInitializer constructs new instance of PluginInitializer TODO: switch these parameters to use the builder pattern or just make them all public, this construction method is pointless boilerplate.

func (*PluginInitializer) Initialize

func (i *PluginInitializer) Initialize(plugin admission.Interface)

Initialize checks the initialization interfaces implemented by each plugin and provide the appropriate initialization data

type WantsCloudConfig

type WantsCloudConfig interface {
	SetCloudConfig([]byte)
}

WantsCloudConfig defines a function which sets CloudConfig for admission plugins that need it.

Source Files

config.go initializer.go

Directories

PathSynopsis
pkg/kubeapiserver/admission/exclusion
Version
v1.30.5
Published
Sep 12, 2024
Platform
js/wasm
Imports
15 packages
Last checked
2 minutes ago

Tools for package owners.