diff --git a/cmd/kube-apiserver/app/options/BUILD b/cmd/kube-apiserver/app/options/BUILD index 7aeeb4980f..0de1d6a166 100644 --- a/cmd/kube-apiserver/app/options/BUILD +++ b/cmd/kube-apiserver/app/options/BUILD @@ -19,7 +19,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/features:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//pkg/kubeapiserver/options:go_default_library", "//pkg/kubelet/client:go_default_library", "//pkg/master/ports:go_default_library", diff --git a/cmd/kube-apiserver/app/options/options.go b/cmd/kube-apiserver/app/options/options.go index cb7d8513fd..8ecc905b43 100644 --- a/cmd/kube-apiserver/app/options/options.go +++ b/cmd/kube-apiserver/app/options/options.go @@ -26,7 +26,6 @@ import ( "k8s.io/apiserver/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" kubeoptions "k8s.io/kubernetes/pkg/kubeapiserver/options" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master/ports" @@ -80,7 +79,7 @@ func NewServerRunOptions() *ServerRunOptions { InsecureServing: kubeoptions.NewInsecureServingOptions(), Audit: genericoptions.NewAuditLogOptions(), Features: genericoptions.NewFeatureOptions(), - Admission: genericoptions.NewAdmissionOptions(&kubeapiserveradmission.Plugins), + Admission: genericoptions.NewAdmissionOptions(), Authentication: kubeoptions.NewBuiltInAuthenticationOptions().WithAll(), Authorization: kubeoptions.NewBuiltInAuthorizationOptions(), CloudProvider: kubeoptions.NewCloudProviderOptions(), diff --git a/cmd/kube-apiserver/app/plugins.go b/cmd/kube-apiserver/app/plugins.go index 0ddd92566a..ba20aacfd1 100644 --- a/cmd/kube-apiserver/app/plugins.go +++ b/cmd/kube-apiserver/app/plugins.go @@ -24,27 +24,55 @@ import ( _ "k8s.io/kubernetes/pkg/cloudprovider/providers" // Admission policies - _ "k8s.io/kubernetes/plugin/pkg/admission/admit" - _ "k8s.io/kubernetes/plugin/pkg/admission/alwayspullimages" - _ "k8s.io/kubernetes/plugin/pkg/admission/antiaffinity" - _ "k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds" - _ "k8s.io/kubernetes/plugin/pkg/admission/deny" - _ "k8s.io/kubernetes/plugin/pkg/admission/exec" - _ "k8s.io/kubernetes/plugin/pkg/admission/gc" - _ "k8s.io/kubernetes/plugin/pkg/admission/imagepolicy" - _ "k8s.io/kubernetes/plugin/pkg/admission/initialresources" - _ "k8s.io/kubernetes/plugin/pkg/admission/limitranger" - _ "k8s.io/kubernetes/plugin/pkg/admission/namespace/autoprovision" - _ "k8s.io/kubernetes/plugin/pkg/admission/namespace/exists" - _ "k8s.io/kubernetes/plugin/pkg/admission/namespace/lifecycle" - _ "k8s.io/kubernetes/plugin/pkg/admission/noderestriction" - _ "k8s.io/kubernetes/plugin/pkg/admission/persistentvolume/label" - _ "k8s.io/kubernetes/plugin/pkg/admission/podnodeselector" - _ "k8s.io/kubernetes/plugin/pkg/admission/podpreset" - _ "k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction" - _ "k8s.io/kubernetes/plugin/pkg/admission/resourcequota" - _ "k8s.io/kubernetes/plugin/pkg/admission/security/podsecuritypolicy" - _ "k8s.io/kubernetes/plugin/pkg/admission/securitycontext/scdeny" - _ "k8s.io/kubernetes/plugin/pkg/admission/serviceaccount" - _ "k8s.io/kubernetes/plugin/pkg/admission/storageclass/default" + "k8s.io/apiserver/pkg/admission" + "k8s.io/kubernetes/plugin/pkg/admission/admit" + "k8s.io/kubernetes/plugin/pkg/admission/alwayspullimages" + "k8s.io/kubernetes/plugin/pkg/admission/antiaffinity" + "k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds" + "k8s.io/kubernetes/plugin/pkg/admission/deny" + "k8s.io/kubernetes/plugin/pkg/admission/exec" + "k8s.io/kubernetes/plugin/pkg/admission/gc" + "k8s.io/kubernetes/plugin/pkg/admission/imagepolicy" + "k8s.io/kubernetes/plugin/pkg/admission/initialresources" + "k8s.io/kubernetes/plugin/pkg/admission/limitranger" + "k8s.io/kubernetes/plugin/pkg/admission/namespace/autoprovision" + "k8s.io/kubernetes/plugin/pkg/admission/namespace/exists" + "k8s.io/kubernetes/plugin/pkg/admission/namespace/lifecycle" + noderestriction "k8s.io/kubernetes/plugin/pkg/admission/noderestriction" + "k8s.io/kubernetes/plugin/pkg/admission/persistentvolume/label" + "k8s.io/kubernetes/plugin/pkg/admission/podnodeselector" + podpreset "k8s.io/kubernetes/plugin/pkg/admission/podpreset" + "k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction" + "k8s.io/kubernetes/plugin/pkg/admission/resourcequota" + podsecuritypolicy "k8s.io/kubernetes/plugin/pkg/admission/security/podsecuritypolicy" + "k8s.io/kubernetes/plugin/pkg/admission/securitycontext/scdeny" + "k8s.io/kubernetes/plugin/pkg/admission/serviceaccount" + storagedefault "k8s.io/kubernetes/plugin/pkg/admission/storageclass/default" ) + +// registerAllAdmissionPlugins registers all admission plugins +func registerAllAdmissionPlugins(plugins *admission.Plugins) { + admit.Register(plugins) + alwayspullimages.Register(plugins) + antiaffinity.Register(plugins) + defaulttolerationseconds.Register(plugins) + deny.Register(plugins) + exec.Register(plugins) + gc.Register(plugins) + imagepolicy.Register(plugins) + initialresources.Register(plugins) + limitranger.Register(plugins) + autoprovision.Register(plugins) + exists.Register(plugins) + lifecycle.Register(plugins) + noderestriction.Register(plugins) + label.Register(plugins) + podnodeselector.Register(plugins) + podpreset.Register(plugins) + podtolerationrestriction.Register(plugins) + resourcequota.Register(plugins) + podsecuritypolicy.Register(plugins) + scdeny.Register(plugins) + serviceaccount.Register(plugins) + storagedefault.Register(plugins) +} diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index 066d23947e..c8f3e5c326 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -177,6 +177,9 @@ func CreateKubeAPIServer(kubeAPIServerConfig *master.Config, delegateAPIServer g // CreateKubeAPIServerConfig creates all the resources for running the API server, but runs none of them func CreateKubeAPIServerConfig(s *options.ServerRunOptions) (*master.Config, informers.SharedInformerFactory, *kubeserver.InsecureServingInfo, error) { + // register all admission plugins + registerAllAdmissionPlugins(s.Admission.Plugins) + // set defaults in the options before trying to create the generic config if err := defaultOptions(s); err != nil { return nil, nil, nil, err diff --git a/federation/cmd/federation-apiserver/app/BUILD b/federation/cmd/federation-apiserver/app/BUILD index e98042f4c8..84177527d9 100644 --- a/federation/cmd/federation-apiserver/app/BUILD +++ b/federation/cmd/federation-apiserver/app/BUILD @@ -76,6 +76,7 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", + "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", "//vendor/k8s.io/apiserver/pkg/server:go_default_library", diff --git a/federation/cmd/federation-apiserver/app/options/BUILD b/federation/cmd/federation-apiserver/app/options/BUILD index bbea91b584..798ac00ca7 100644 --- a/federation/cmd/federation-apiserver/app/options/BUILD +++ b/federation/cmd/federation-apiserver/app/options/BUILD @@ -17,7 +17,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/features:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//pkg/kubeapiserver/options:go_default_library", "//vendor/github.com/spf13/pflag:go_default_library", "//vendor/k8s.io/apiserver/pkg/server/options:go_default_library", diff --git a/federation/cmd/federation-apiserver/app/options/options.go b/federation/cmd/federation-apiserver/app/options/options.go index b4d9292e50..36fabdebe4 100644 --- a/federation/cmd/federation-apiserver/app/options/options.go +++ b/federation/cmd/federation-apiserver/app/options/options.go @@ -23,7 +23,6 @@ import ( genericoptions "k8s.io/apiserver/pkg/server/options" "k8s.io/apiserver/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/api" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" kubeoptions "k8s.io/kubernetes/pkg/kubeapiserver/options" // add the kubernetes feature gates @@ -59,7 +58,7 @@ func NewServerRunOptions() *ServerRunOptions { InsecureServing: kubeoptions.NewInsecureServingOptions(), Audit: genericoptions.NewAuditLogOptions(), Features: genericoptions.NewFeatureOptions(), - Admission: genericoptions.NewAdmissionOptions(&kubeapiserveradmission.Plugins), + Admission: genericoptions.NewAdmissionOptions(), Authentication: kubeoptions.NewBuiltInAuthenticationOptions().WithAll(), Authorization: kubeoptions.NewBuiltInAuthorizationOptions(), CloudProvider: kubeoptions.NewCloudProviderOptions(), diff --git a/federation/cmd/federation-apiserver/app/plugins.go b/federation/cmd/federation-apiserver/app/plugins.go index 3873264e73..fbad2402da 100644 --- a/federation/cmd/federation-apiserver/app/plugins.go +++ b/federation/cmd/federation-apiserver/app/plugins.go @@ -21,11 +21,20 @@ package app // given binary target. import ( // Cloud providers + "k8s.io/apiserver/pkg/admission" _ "k8s.io/kubernetes/pkg/cloudprovider/providers" // Admission policies - _ "k8s.io/kubernetes/plugin/pkg/admission/admit" - _ "k8s.io/kubernetes/plugin/pkg/admission/deny" - _ "k8s.io/kubernetes/plugin/pkg/admission/gc" - _ "k8s.io/kubernetes/plugin/pkg/admission/namespace/lifecycle" + "k8s.io/kubernetes/plugin/pkg/admission/admit" + "k8s.io/kubernetes/plugin/pkg/admission/deny" + "k8s.io/kubernetes/plugin/pkg/admission/gc" + "k8s.io/kubernetes/plugin/pkg/admission/namespace/lifecycle" ) + +// registerAllAdmissionPlugins registers all admission plugins +func registerAllAdmissionPlugins(plugins *admission.Plugins) { + admit.Register(plugins) + deny.Register(plugins) + gc.Register(plugins) + lifecycle.Register(plugins) +} diff --git a/federation/cmd/federation-apiserver/app/server.go b/federation/cmd/federation-apiserver/app/server.go index 6ac00da746..dbc7456b93 100644 --- a/federation/cmd/federation-apiserver/app/server.go +++ b/federation/cmd/federation-apiserver/app/server.go @@ -85,6 +85,8 @@ func Run(s *options.ServerRunOptions, stopCh <-chan struct{}) error { // NonBlockingRun runs the specified APIServer and configures it to // stop with the given channel. func NonBlockingRun(s *options.ServerRunOptions, stopCh <-chan struct{}) error { + // register all admission plugins + registerAllAdmissionPlugins(s.Admission.Plugins) // set defaults if err := s.GenericServerRunOptions.DefaultAdvertiseAddress(s.SecureServing); err != nil { return err diff --git a/pkg/kubeapiserver/admission/BUILD b/pkg/kubeapiserver/admission/BUILD index b29fef1525..333d3f76e4 100644 --- a/pkg/kubeapiserver/admission/BUILD +++ b/pkg/kubeapiserver/admission/BUILD @@ -21,10 +21,7 @@ go_test( go_library( name = "go_default_library", - srcs = [ - "initializer.go", - "registry.go", - ], + srcs = ["initializer.go"], tags = ["automanaged"], deps = [ "//pkg/client/clientset_generated/internalclientset:go_default_library", diff --git a/pkg/kubeapiserver/admission/registry.go b/pkg/kubeapiserver/admission/registry.go deleted file mode 100644 index f82e9dd0e1..0000000000 --- a/pkg/kubeapiserver/admission/registry.go +++ /dev/null @@ -1,24 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package admission - -import ( - "k8s.io/apiserver/pkg/admission" -) - -// Plugins is a global registry for admission plugins. -var Plugins = admission.Plugins{} diff --git a/plugin/pkg/admission/admit/BUILD b/plugin/pkg/admission/admit/BUILD index 407853e353..7697bee41a 100644 --- a/plugin/pkg/admission/admit/BUILD +++ b/plugin/pkg/admission/admit/BUILD @@ -12,10 +12,7 @@ go_library( name = "go_default_library", srcs = ["admission.go"], tags = ["automanaged"], - deps = [ - "//pkg/kubeapiserver/admission:go_default_library", - "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", - ], + deps = ["//vendor/k8s.io/apiserver/pkg/admission:go_default_library"], ) go_test( diff --git a/plugin/pkg/admission/admit/admission.go b/plugin/pkg/admission/admit/admission.go index 7899e2d32f..6ba8e59dd7 100644 --- a/plugin/pkg/admission/admit/admission.go +++ b/plugin/pkg/admission/admit/admission.go @@ -20,13 +20,8 @@ import ( "io" "k8s.io/apiserver/pkg/admission" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("AlwaysAdmit", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/alwayspullimages/BUILD b/plugin/pkg/admission/alwayspullimages/BUILD index 7dbc477e94..2cfb8e7c24 100644 --- a/plugin/pkg/admission/alwayspullimages/BUILD +++ b/plugin/pkg/admission/alwayspullimages/BUILD @@ -14,7 +14,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", ], diff --git a/plugin/pkg/admission/alwayspullimages/admission.go b/plugin/pkg/admission/alwayspullimages/admission.go index 8b0172eaa2..0d71f127ab 100644 --- a/plugin/pkg/admission/alwayspullimages/admission.go +++ b/plugin/pkg/admission/alwayspullimages/admission.go @@ -30,13 +30,8 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("AlwaysPullImages", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/antiaffinity/BUILD b/plugin/pkg/admission/antiaffinity/BUILD index fbd6b469c2..b6d27f159e 100644 --- a/plugin/pkg/admission/antiaffinity/BUILD +++ b/plugin/pkg/admission/antiaffinity/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", diff --git a/plugin/pkg/admission/antiaffinity/admission.go b/plugin/pkg/admission/antiaffinity/admission.go index 8aaf89a307..d2c6e07426 100644 --- a/plugin/pkg/admission/antiaffinity/admission.go +++ b/plugin/pkg/admission/antiaffinity/admission.go @@ -24,13 +24,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("LimitPodHardAntiAffinityTopology", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/defaulttolerationseconds/BUILD b/plugin/pkg/admission/defaulttolerationseconds/BUILD index 8d75a29bc6..db02747289 100644 --- a/plugin/pkg/admission/defaulttolerationseconds/BUILD +++ b/plugin/pkg/admission/defaulttolerationseconds/BUILD @@ -28,7 +28,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/helper:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", diff --git a/plugin/pkg/admission/defaulttolerationseconds/admission.go b/plugin/pkg/admission/defaulttolerationseconds/admission.go index cbd0c650ef..62f45ab837 100644 --- a/plugin/pkg/admission/defaulttolerationseconds/admission.go +++ b/plugin/pkg/admission/defaulttolerationseconds/admission.go @@ -26,7 +26,6 @@ import ( "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/helper" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) var ( @@ -39,10 +38,6 @@ var ( " that is added by default to every pod that does not already have such a toleration.") ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("DefaultTolerationSeconds", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/deny/BUILD b/plugin/pkg/admission/deny/BUILD index 407853e353..7697bee41a 100644 --- a/plugin/pkg/admission/deny/BUILD +++ b/plugin/pkg/admission/deny/BUILD @@ -12,10 +12,7 @@ go_library( name = "go_default_library", srcs = ["admission.go"], tags = ["automanaged"], - deps = [ - "//pkg/kubeapiserver/admission:go_default_library", - "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", - ], + deps = ["//vendor/k8s.io/apiserver/pkg/admission:go_default_library"], ) go_test( diff --git a/plugin/pkg/admission/deny/admission.go b/plugin/pkg/admission/deny/admission.go index 0c127cfb6f..bef3429c25 100644 --- a/plugin/pkg/admission/deny/admission.go +++ b/plugin/pkg/admission/deny/admission.go @@ -21,13 +21,8 @@ import ( "io" "k8s.io/apiserver/pkg/admission" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("AlwaysDeny", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/exec/admission.go b/plugin/pkg/admission/exec/admission.go index bcf7f1dfe1..f8f94b78f8 100644 --- a/plugin/pkg/admission/exec/admission.go +++ b/plugin/pkg/admission/exec/admission.go @@ -29,10 +29,6 @@ import ( kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("DenyEscalatingExec", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/gc/BUILD b/plugin/pkg/admission/gc/BUILD index 7c9efb8171..83cce31860 100644 --- a/plugin/pkg/admission/gc/BUILD +++ b/plugin/pkg/admission/gc/BUILD @@ -13,7 +13,6 @@ go_library( srcs = ["gc_admission.go"], tags = ["automanaged"], deps = [ - "//pkg/kubeapiserver/admission:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", diff --git a/plugin/pkg/admission/gc/gc_admission.go b/plugin/pkg/admission/gc/gc_admission.go index 1f5df17dec..93834cb040 100644 --- a/plugin/pkg/admission/gc/gc_admission.go +++ b/plugin/pkg/admission/gc/gc_admission.go @@ -28,13 +28,8 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/authorization/authorizer" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("OwnerReferencesPermissionEnforcement", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/imagepolicy/BUILD b/plugin/pkg/admission/imagepolicy/BUILD index f1b78c3568..f37e72dc71 100644 --- a/plugin/pkg/admission/imagepolicy/BUILD +++ b/plugin/pkg/admission/imagepolicy/BUILD @@ -20,7 +20,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/imagepolicy/install:go_default_library", "//pkg/apis/imagepolicy/v1alpha1:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", diff --git a/plugin/pkg/admission/imagepolicy/admission.go b/plugin/pkg/admission/imagepolicy/admission.go index f584da25de..f5e6304eeb 100644 --- a/plugin/pkg/admission/imagepolicy/admission.go +++ b/plugin/pkg/admission/imagepolicy/admission.go @@ -39,7 +39,6 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/imagepolicy/v1alpha1" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" // install the clientgo image policy API for use with api registry _ "k8s.io/kubernetes/pkg/apis/imagepolicy/install" @@ -49,10 +48,6 @@ var ( groupVersions = []schema.GroupVersion{v1alpha1.SchemeGroupVersion} ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("ImagePolicyWebhook", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/initialresources/BUILD b/plugin/pkg/admission/initialresources/BUILD index eedcdec5eb..5331990fdb 100644 --- a/plugin/pkg/admission/initialresources/BUILD +++ b/plugin/pkg/admission/initialresources/BUILD @@ -20,7 +20,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//vendor/cloud.google.com/go/compute/metadata:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/github.com/hawkular/hawkular-client-go/metrics:go_default_library", diff --git a/plugin/pkg/admission/initialresources/admission.go b/plugin/pkg/admission/initialresources/admission.go index 401bb6d20f..99af24fad1 100644 --- a/plugin/pkg/admission/initialresources/admission.go +++ b/plugin/pkg/admission/initialresources/admission.go @@ -29,7 +29,6 @@ import ( "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) var ( @@ -45,12 +44,8 @@ const ( month = 30 * 24 * time.Hour ) -// WARNING: this feature is experimental and will definitely change. -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin +// WARNING: this feature is experimental and will definitely change. func Register(plugins *admission.Plugins) { plugins.Register("InitialResources", func(config io.Reader) (admission.Interface, error) { // TODO: remove the usage of flags in favor of reading versioned configuration diff --git a/plugin/pkg/admission/limitranger/admission.go b/plugin/pkg/admission/limitranger/admission.go index 4d16388792..46486c37db 100644 --- a/plugin/pkg/admission/limitranger/admission.go +++ b/plugin/pkg/admission/limitranger/admission.go @@ -43,10 +43,6 @@ const ( limitRangerAnnotation = "kubernetes.io/limit-ranger" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("LimitRanger", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/namespace/autoprovision/admission.go b/plugin/pkg/admission/namespace/autoprovision/admission.go index 1de5ef6f07..f7f2b343aa 100644 --- a/plugin/pkg/admission/namespace/autoprovision/admission.go +++ b/plugin/pkg/admission/namespace/autoprovision/admission.go @@ -30,10 +30,6 @@ import ( kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("NamespaceAutoProvision", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/namespace/exists/admission.go b/plugin/pkg/admission/namespace/exists/admission.go index 81ae1fad32..8bf1e6eccc 100644 --- a/plugin/pkg/admission/namespace/exists/admission.go +++ b/plugin/pkg/admission/namespace/exists/admission.go @@ -30,10 +30,6 @@ import ( kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("NamespaceExists", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/namespace/lifecycle/admission.go b/plugin/pkg/admission/namespace/lifecycle/admission.go index cefdd87576..aab86656a1 100644 --- a/plugin/pkg/admission/namespace/lifecycle/admission.go +++ b/plugin/pkg/admission/namespace/lifecycle/admission.go @@ -50,10 +50,6 @@ const ( missingNamespaceWait = 50 * time.Millisecond ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/noderestriction/admission.go b/plugin/pkg/admission/noderestriction/admission.go index 155763b3bc..13191b59b1 100644 --- a/plugin/pkg/admission/noderestriction/admission.go +++ b/plugin/pkg/admission/noderestriction/admission.go @@ -34,8 +34,9 @@ const ( PluginName = "NodeRestriction" ) -func init() { - kubeapiserveradmission.Plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) { +// Register registers a plugin +func Register(plugins *admission.Plugins) { + plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) { return NewPlugin(nodeidentifier.NewDefaultNodeIdentifier(), false), nil }) } diff --git a/plugin/pkg/admission/persistentvolume/label/admission.go b/plugin/pkg/admission/persistentvolume/label/admission.go index 50ad3018db..95125557bf 100644 --- a/plugin/pkg/admission/persistentvolume/label/admission.go +++ b/plugin/pkg/admission/persistentvolume/label/admission.go @@ -32,10 +32,6 @@ import ( vol "k8s.io/kubernetes/pkg/volume" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("PersistentVolumeLabel", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/podnodeselector/admission.go b/plugin/pkg/admission/podnodeselector/admission.go index 2def9ed1ee..8e00f0b825 100644 --- a/plugin/pkg/admission/podnodeselector/admission.go +++ b/plugin/pkg/admission/podnodeselector/admission.go @@ -39,10 +39,6 @@ import ( // node selectors labels to namespaces var NamespaceNodeSelectors = []string{"scheduler.alpha.kubernetes.io/node-selector"} -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("PodNodeSelector", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/podpreset/admission.go b/plugin/pkg/admission/podpreset/admission.go index 72bf19dcad..4b2165d40d 100644 --- a/plugin/pkg/admission/podpreset/admission.go +++ b/plugin/pkg/admission/podpreset/admission.go @@ -41,10 +41,6 @@ const ( pluginName = "PodPreset" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register(pluginName, func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/podtolerationrestriction/admission.go b/plugin/pkg/admission/podtolerationrestriction/admission.go index 6c2b5f0920..60fe0ffba2 100644 --- a/plugin/pkg/admission/podtolerationrestriction/admission.go +++ b/plugin/pkg/admission/podtolerationrestriction/admission.go @@ -36,13 +36,9 @@ import ( pluginapi "k8s.io/kubernetes/plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { - kubeapiserveradmission.Plugins.Register("PodTolerationRestriction", func(config io.Reader) (admission.Interface, error) { + plugins.Register("PodTolerationRestriction", func(config io.Reader) (admission.Interface, error) { pluginConfig, err := loadConfiguration(config) if err != nil { return nil, err diff --git a/plugin/pkg/admission/resourcequota/admission.go b/plugin/pkg/admission/resourcequota/admission.go index 5e0b464753..cfb97af50b 100644 --- a/plugin/pkg/admission/resourcequota/admission.go +++ b/plugin/pkg/admission/resourcequota/admission.go @@ -31,10 +31,6 @@ import ( "k8s.io/kubernetes/plugin/pkg/admission/resourcequota/apis/resourcequota/validation" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("ResourceQuota", diff --git a/plugin/pkg/admission/security/podsecuritypolicy/admission.go b/plugin/pkg/admission/security/podsecuritypolicy/admission.go index d1795a3326..a31f5ac189 100644 --- a/plugin/pkg/admission/security/podsecuritypolicy/admission.go +++ b/plugin/pkg/admission/security/podsecuritypolicy/admission.go @@ -44,10 +44,6 @@ const ( PluginName = "PodSecurityPolicy" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/securitycontext/scdeny/BUILD b/plugin/pkg/admission/securitycontext/scdeny/BUILD index d23770ac8b..b8c1e09882 100644 --- a/plugin/pkg/admission/securitycontext/scdeny/BUILD +++ b/plugin/pkg/admission/securitycontext/scdeny/BUILD @@ -14,7 +14,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", ], diff --git a/plugin/pkg/admission/securitycontext/scdeny/admission.go b/plugin/pkg/admission/securitycontext/scdeny/admission.go index 9f709c3bb3..24e2ede3a6 100644 --- a/plugin/pkg/admission/securitycontext/scdeny/admission.go +++ b/plugin/pkg/admission/securitycontext/scdeny/admission.go @@ -23,13 +23,8 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register("SecurityContextDeny", func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/serviceaccount/admission.go b/plugin/pkg/admission/serviceaccount/admission.go index 17f3526872..2b7c4abfb8 100644 --- a/plugin/pkg/admission/serviceaccount/admission.go +++ b/plugin/pkg/admission/serviceaccount/admission.go @@ -53,10 +53,6 @@ const DefaultAPITokenMountPath = "/var/run/secrets/kubernetes.io/serviceaccount" // PluginName is the name of this admission plugin const PluginName = "ServiceAccount" -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) { diff --git a/plugin/pkg/admission/storageclass/default/admission.go b/plugin/pkg/admission/storageclass/default/admission.go index d22e13ed5b..6ad8233837 100644 --- a/plugin/pkg/admission/storageclass/default/admission.go +++ b/plugin/pkg/admission/storageclass/default/admission.go @@ -38,10 +38,6 @@ const ( PluginName = "DefaultStorageClass" ) -func init() { - Register(&kubeapiserveradmission.Plugins) -} - // Register registers a plugin func Register(plugins *admission.Plugins) { plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) { diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/admission.go b/staging/src/k8s.io/apiserver/pkg/server/options/admission.go index 6316c065f5..6d2003bd67 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/options/admission.go +++ b/staging/src/k8s.io/apiserver/pkg/server/options/admission.go @@ -35,9 +35,9 @@ type AdmissionOptions struct { } // NewAdmissionOptions creates a new instance of AdmissionOptions -func NewAdmissionOptions(plugins *admission.Plugins) *AdmissionOptions { +func NewAdmissionOptions() *AdmissionOptions { return &AdmissionOptions{ - Plugins: plugins, + Plugins: &admission.Plugins{}, PluginNames: []string{}, } }