package mutating

import "k8s.io/apiserver/pkg/admission/plugin/policy/mutating"

Index

Constants

const (
	// PluginName indicates the name of admission plug-in
	PluginName = "MutatingAdmissionPolicy"
)

Functions

func NewDispatcher

func NewMutatingAdmissionPolicyAccessor

func NewMutatingAdmissionPolicyAccessor(obj *Policy) generic.PolicyAccessor

func NewMutatingAdmissionPolicyBindingAccessor

func NewMutatingAdmissionPolicyBindingAccessor(obj *PolicyBinding) generic.BindingAccessor

func Register

func Register(plugins *admission.Plugins)

Register registers a plugin

Types

type MutationEvaluationFunc

type MutationEvaluationFunc func(
	ctx context.Context,
	matchedResource schema.GroupVersionResource,
	versionedAttr *admission.VersionedAttributes,
	o admission.ObjectInterfaces,
	versionedParams runtime.Object,
	namespace *corev1.Namespace,
	typeConverter managedfields.TypeConverter,
	runtimeCELCostBudget int64,
	authorizer authorizer.Authorizer,
) (runtime.Object, error)

type Mutator

type Mutator struct {
}

type Plugin

type Plugin struct {
	*generic.Plugin[PolicyHook]
}

Plugin is an implementation of admission.Interface.

func NewPlugin

func NewPlugin(_ io.Reader) *Plugin

NewPlugin returns a generic admission webhook plugin.

func (*Plugin) Admit

Admit makes an admission decision based on the request attributes.

func (*Plugin) InspectFeatureGates

func (a *Plugin) InspectFeatureGates(featureGates featuregate.FeatureGate)

type Policy

type PolicyBinding

type PolicyEvaluator

type PolicyEvaluator struct {
	Matcher        matchconditions.Matcher
	Mutators       []patch.Patcher
	CompositionEnv *cel.CompositionEnv
	Error          error
}

type PolicyHook

type PolicyMutation

type PolicyMutation = v1alpha1.Mutation

type Variable

type Variable struct {
	Name       string
	Expression string
}

Variable is a named expression for composition.

func (*Variable) GetExpression

func (v *Variable) GetExpression() string

func (*Variable) GetName

func (v *Variable) GetName() string

func (*Variable) ReturnTypes

func (v *Variable) ReturnTypes() []*celgo.Type

Source Files

accessor.go compilation.go dispatcher.go plugin.go reinvocationcontext.go

Directories

PathSynopsis
pkg/admission/plugin/policy/mutating/patch
Version
v0.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
35 packages
Last checked
1 hour ago

Tools for package owners.