From 187171284a37071e16489cda6fd62e5c15db14b5 Mon Sep 17 00:00:00 2001 From: p0lyn0mial Date: Mon, 2 Oct 2017 20:17:47 +0200 Subject: [PATCH] moves admission.v1alpha1.NewAdmissionReview to webhook plugin this is necessary, because the webhook plugin will be moved down to apiserver. --- pkg/apis/admission/v1alpha1/BUILD | 3 - plugin/pkg/admission/webhook/BUILD | 67 +++++++++---------- plugin/pkg/admission/webhook/admission.go | 3 +- .../pkg/admission/webhook/admissionreview.go | 7 +- 4 files changed, 37 insertions(+), 43 deletions(-) rename pkg/apis/admission/v1alpha1/helpers.go => plugin/pkg/admission/webhook/admissionreview.go (87%) diff --git a/pkg/apis/admission/v1alpha1/BUILD b/pkg/apis/admission/v1alpha1/BUILD index 984b3f6cb79..4365a186c1b 100644 --- a/pkg/apis/admission/v1alpha1/BUILD +++ b/pkg/apis/admission/v1alpha1/BUILD @@ -9,7 +9,6 @@ go_library( name = "go_default_library", srcs = [ "doc.go", - "helpers.go", "register.go", "zz_generated.conversion.go", "zz_generated.defaults.go", @@ -17,12 +16,10 @@ go_library( deps = [ "//pkg/apis/admission:go_default_library", "//vendor/k8s.io/api/admission/v1alpha1:go_default_library", - "//vendor/k8s.io/api/authentication/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", ], ) diff --git a/plugin/pkg/admission/webhook/BUILD b/plugin/pkg/admission/webhook/BUILD index c90a9320dab..2c2e5ec1abf 100644 --- a/plugin/pkg/admission/webhook/BUILD +++ b/plugin/pkg/admission/webhook/BUILD @@ -1,9 +1,35 @@ -package(default_visibility = ["//visibility:public"]) +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", +go_library( + name = "go_default_library", + srcs = [ + "admission.go", + "admissionreview.go", + "doc.go", + "rules.go", + "serviceresolver.go", + ], + visibility = ["//visibility:public"], + deps = [ + "//pkg/api:go_default_library", + "//pkg/apis/admission/install:go_default_library", + "//pkg/kubeapiserver/admission:go_default_library", + "//pkg/kubeapiserver/admission/configuration:go_default_library", + "//vendor/github.com/golang/glog:go_default_library", + "//vendor/k8s.io/api/admission/v1alpha1:go_default_library", + "//vendor/k8s.io/api/admissionregistration/v1alpha1:go_default_library", + "//vendor/k8s.io/api/authentication/v1: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/apimachinery/pkg/runtime:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", + "//vendor/k8s.io/client-go/kubernetes:go_default_library", + "//vendor/k8s.io/client-go/rest:go_default_library", + ], ) go_test( @@ -27,36 +53,6 @@ go_test( ], ) -go_library( - name = "go_default_library", - srcs = [ - "admission.go", - "doc.go", - "rules.go", - "serviceresolver.go", - ], - deps = [ - "//pkg/api:go_default_library", - "//pkg/apis/admission/install:go_default_library", - "//pkg/apis/admission/v1alpha1:go_default_library", - "//pkg/kubeapiserver/admission:go_default_library", - "//pkg/kubeapiserver/admission/configuration:go_default_library", - "//vendor/github.com/golang/glog:go_default_library", - "//vendor/k8s.io/api/admission/v1alpha1:go_default_library", - "//vendor/k8s.io/api/admissionregistration/v1alpha1: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/apimachinery/pkg/runtime:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", - "//vendor/k8s.io/apiserver/pkg/admission:go_default_library", - "//vendor/k8s.io/client-go/kubernetes:go_default_library", - "//vendor/k8s.io/client-go/rest:go_default_library", - ], -) - filegroup( name = "package-srcs", srcs = glob(["**"]), @@ -68,4 +64,5 @@ filegroup( name = "all-srcs", srcs = [":package-srcs"], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/plugin/pkg/admission/webhook/admission.go b/plugin/pkg/admission/webhook/admission.go index 63dd7903c1d..a3e092d993e 100644 --- a/plugin/pkg/admission/webhook/admission.go +++ b/plugin/pkg/admission/webhook/admission.go @@ -41,7 +41,6 @@ import ( clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" - admissionv1alpha1helper "k8s.io/kubernetes/pkg/apis/admission/v1alpha1" admissioninit "k8s.io/kubernetes/pkg/kubeapiserver/admission" "k8s.io/kubernetes/pkg/kubeapiserver/admission/configuration" @@ -226,7 +225,7 @@ func (a *GenericAdmissionWebhook) callHook(ctx context.Context, h *v1alpha1.Exte } // Make the webhook request - request := admissionv1alpha1helper.NewAdmissionReview(attr) + request := createAdmissionReview(attr) client, err := a.hookClient(h) if err != nil { return &ErrCallingWebhook{WebhookName: h.Name, Reason: err} diff --git a/pkg/apis/admission/v1alpha1/helpers.go b/plugin/pkg/admission/webhook/admissionreview.go similarity index 87% rename from pkg/apis/admission/v1alpha1/helpers.go rename to plugin/pkg/admission/webhook/admissionreview.go index ad1e543744c..c9e139c713a 100644 --- a/pkg/apis/admission/v1alpha1/helpers.go +++ b/plugin/pkg/admission/webhook/admissionreview.go @@ -14,7 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ -package v1alpha1 +// Package webhook delegates admission checks to dynamically configured webhooks. +package webhook import ( admissionv1alpha1 "k8s.io/api/admission/v1alpha1" @@ -24,8 +25,8 @@ import ( "k8s.io/apiserver/pkg/admission" ) -// NewAdmissionReview returns an AdmissionReview for the provided admission.Attributes -func NewAdmissionReview(attr admission.Attributes) admissionv1alpha1.AdmissionReview { +// createAdmissionReview creates an AdmissionReview for the provided admission.Attributes +func createAdmissionReview(attr admission.Attributes) admissionv1alpha1.AdmissionReview { gvk := attr.GetKind() gvr := attr.GetResource() aUserInfo := attr.GetUserInfo()