mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	allow apiservers to override the list of decorators
This commit is contained in:
		@@ -138,6 +138,7 @@ func TestAddFlags(t *testing.T) {
 | 
			
		||||
				EnablePlugins:          []string{"AlwaysDeny"},
 | 
			
		||||
				ConfigFile:             "/admission-control-config",
 | 
			
		||||
				Plugins:                s.Admission.GenericAdmission.Plugins,
 | 
			
		||||
				Decorators:             s.Admission.GenericAdmission.Decorators,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		Etcd: &apiserveroptions.EtcdOptions{
 | 
			
		||||
 
 | 
			
		||||
@@ -61,6 +61,8 @@ type AdmissionOptions struct {
 | 
			
		||||
	ConfigFile string
 | 
			
		||||
	// Plugins contains all registered plugins.
 | 
			
		||||
	Plugins *admission.Plugins
 | 
			
		||||
	// Decorators is a list of admission decorator to wrap around the admission plugins
 | 
			
		||||
	Decorators admission.Decorators
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewAdmissionOptions creates a new instance of AdmissionOptions
 | 
			
		||||
@@ -74,6 +76,7 @@ type AdmissionOptions struct {
 | 
			
		||||
func NewAdmissionOptions() *AdmissionOptions {
 | 
			
		||||
	options := &AdmissionOptions{
 | 
			
		||||
		Plugins:    admission.NewPlugins(),
 | 
			
		||||
		Decorators: admission.Decorators{admission.DecoratorFunc(admissionmetrics.WithControllerMetrics)},
 | 
			
		||||
		// This list is mix of mutating admission plugins and validating
 | 
			
		||||
		// admission plugins. The apiserver always runs the validating ones
 | 
			
		||||
		// after all the mutating ones, so their relative order in this list
 | 
			
		||||
@@ -147,7 +150,7 @@ func (a *AdmissionOptions) ApplyTo(
 | 
			
		||||
	pluginInitializers = append(pluginInitializers, genericInitializer)
 | 
			
		||||
	initializersChain = append(initializersChain, pluginInitializers...)
 | 
			
		||||
 | 
			
		||||
	admissionChain, err := a.Plugins.NewFromPlugins(pluginNames, pluginsConfigProvider, initializersChain, admission.DecoratorFunc(admissionmetrics.WithControllerMetrics))
 | 
			
		||||
	admissionChain, err := a.Plugins.NewFromPlugins(pluginNames, pluginsConfigProvider, initializersChain, a.Decorators)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user