diff --git a/pkg/admission/initializer/initializer.go b/pkg/admission/initializer/initializer.go index 740db6d61..613baf8ef 100644 --- a/pkg/admission/initializer/initializer.go +++ b/pkg/admission/initializer/initializer.go @@ -51,6 +51,11 @@ func New( // Initialize checks the initialization interfaces implemented by a plugin // and provide the appropriate initialization data func (i pluginInitializer) Initialize(plugin admission.Interface) { + // First tell the plugin about enabled features, so it can decide whether to start informers or not + if wants, ok := plugin.(WantsFeatures); ok { + wants.InspectFeatureGates(i.featureGates) + } + if wants, ok := plugin.(WantsExternalKubeClientSet); ok { wants.SetExternalKubeClientSet(i.externalClient) } @@ -62,10 +67,6 @@ func (i pluginInitializer) Initialize(plugin admission.Interface) { if wants, ok := plugin.(WantsAuthorizer); ok { wants.SetAuthorizer(i.authorizer) } - - if wants, ok := plugin.(WantsFeatures); ok { - wants.InspectFeatureGates(i.featureGates) - } } var _ admission.PluginInitializer = pluginInitializer{}