diff --git a/pkg/api/BUILD.bazel b/pkg/api/BUILD.bazel index edfaf3db8..462079345 100644 --- a/pkg/api/BUILD.bazel +++ b/pkg/api/BUILD.bazel @@ -16,14 +16,14 @@ go_library( "//pkg/apis/certmanager/v1alpha3:go_default_library", "//pkg/apis/certmanager/v1beta1:go_default_library", "//pkg/apis/meta/v1:go_default_library", - "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1beta1:go_default_library", + "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1:go_default_library", "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library", "@io_k8s_apimachinery//pkg/runtime:go_default_library", "@io_k8s_apimachinery//pkg/runtime/schema:go_default_library", "@io_k8s_apimachinery//pkg/runtime/serializer:go_default_library", "@io_k8s_apimachinery//pkg/util/runtime:go_default_library", "@io_k8s_client_go//kubernetes/scheme:go_default_library", - "@io_k8s_kube_aggregator//pkg/apis/apiregistration/v1beta1:go_default_library", + "@io_k8s_kube_aggregator//pkg/apis/apiregistration/v1:go_default_library", ], ) diff --git a/pkg/api/scheme.go b/pkg/api/scheme.go index abc4fcd65..ca86222a8 100644 --- a/pkg/api/scheme.go +++ b/pkg/api/scheme.go @@ -17,14 +17,14 @@ limitations under the License. package api import ( - apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/serializer" utilruntime "k8s.io/apimachinery/pkg/util/runtime" kscheme "k8s.io/client-go/kubernetes/scheme" - apireg "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1" + apireg "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" whapi "github.com/jetstack/cert-manager/pkg/acme/webhook/apis/acme/v1alpha1" cmacmev1 "github.com/jetstack/cert-manager/pkg/apis/acme/v1" diff --git a/pkg/controller/cainjector/BUILD.bazel b/pkg/controller/cainjector/BUILD.bazel index 9a8b16fc6..fc704dd1f 100644 --- a/pkg/controller/cainjector/BUILD.bazel +++ b/pkg/controller/cainjector/BUILD.bazel @@ -16,15 +16,15 @@ go_library( "//pkg/apis/meta/v1:go_default_library", "//pkg/logs:go_default_library", "@com_github_go_logr_logr//:go_default_library", - "@io_k8s_api//admissionregistration/v1beta1:go_default_library", + "@io_k8s_api//admissionregistration/v1:go_default_library", "@io_k8s_api//core/v1:go_default_library", - "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1beta1:go_default_library", + "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1:go_default_library", "@io_k8s_apimachinery//pkg/api/errors:go_default_library", "@io_k8s_apimachinery//pkg/api/meta:go_default_library", "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library", "@io_k8s_apimachinery//pkg/runtime:go_default_library", "@io_k8s_apimachinery//pkg/types:go_default_library", - "@io_k8s_kube_aggregator//pkg/apis/apiregistration/v1beta1:go_default_library", + "@io_k8s_kube_aggregator//pkg/apis/apiregistration/v1:go_default_library", "@io_k8s_sigs_controller_runtime//:go_default_library", "@io_k8s_sigs_controller_runtime//pkg/cache:go_default_library", "@io_k8s_sigs_controller_runtime//pkg/client:go_default_library", diff --git a/pkg/controller/cainjector/injectors.go b/pkg/controller/cainjector/injectors.go index eba5250cb..6e8e6102a 100644 --- a/pkg/controller/cainjector/injectors.go +++ b/pkg/controller/cainjector/injectors.go @@ -17,10 +17,10 @@ limitations under the License. package cainjector import ( - admissionreg "k8s.io/api/admissionregistration/v1beta1" - apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + admissionreg "k8s.io/api/admissionregistration/v1" + apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/runtime" - apireg "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1" + apireg "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" ) // this contains implementations of CertInjector (and dependents) @@ -132,8 +132,11 @@ func (t *crdConversionTarget) SetCA(data []byte) { if t.obj.Spec.Conversion == nil || t.obj.Spec.Conversion.Strategy != apiext.WebhookConverter { return } - if t.obj.Spec.Conversion.WebhookClientConfig == nil { - t.obj.Spec.Conversion.WebhookClientConfig = &apiext.WebhookClientConfig{} + if t.obj.Spec.Conversion.Webhook == nil { + t.obj.Spec.Conversion.Webhook = &apiext.WebhookConversion{} } - t.obj.Spec.Conversion.WebhookClientConfig.CABundle = data + if t.obj.Spec.Conversion.Webhook.ClientConfig == nil { + t.obj.Spec.Conversion.Webhook.ClientConfig = &apiext.WebhookClientConfig{} + } + t.obj.Spec.Conversion.Webhook.ClientConfig.CABundle = data } diff --git a/pkg/controller/cainjector/setup.go b/pkg/controller/cainjector/setup.go index c0722b9ce..0bde17d52 100644 --- a/pkg/controller/cainjector/setup.go +++ b/pkg/controller/cainjector/setup.go @@ -24,11 +24,11 @@ import ( logf "github.com/jetstack/cert-manager/pkg/logs" "golang.org/x/sync/errgroup" - admissionreg "k8s.io/api/admissionregistration/v1beta1" - apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + admissionreg "k8s.io/api/admissionregistration/v1" + apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" - apireg "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1" + apireg "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/cache" "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/test/e2e/suite/serving/BUILD.bazel b/test/e2e/suite/serving/BUILD.bazel index 90818ddad..2c45e2567 100644 --- a/test/e2e/suite/serving/BUILD.bazel +++ b/test/e2e/suite/serving/BUILD.bazel @@ -12,9 +12,9 @@ go_library( "//test/e2e/util:go_default_library", "@com_github_onsi_ginkgo//:go_default_library", "@com_github_onsi_gomega//:go_default_library", - "@io_k8s_api//admissionregistration/v1beta1:go_default_library", + "@io_k8s_api//admissionregistration/v1:go_default_library", "@io_k8s_api//core/v1:go_default_library", - "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1beta1:go_default_library", + "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1:go_default_library", "@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library", "@io_k8s_apimachinery//pkg/runtime:go_default_library", "@io_k8s_apimachinery//pkg/types:go_default_library", diff --git a/test/e2e/suite/serving/cainjector.go b/test/e2e/suite/serving/cainjector.go index 59b8717fc..ec3ca0368 100644 --- a/test/e2e/suite/serving/cainjector.go +++ b/test/e2e/suite/serving/cainjector.go @@ -27,9 +27,9 @@ import ( cmmeta "github.com/jetstack/cert-manager/pkg/apis/meta/v1" "github.com/jetstack/cert-manager/test/e2e/framework" "github.com/jetstack/cert-manager/test/e2e/util" - admissionreg "k8s.io/api/admissionregistration/v1beta1" + admissionreg "k8s.io/api/admissionregistration/v1" corev1 "k8s.io/api/core/v1" - apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" @@ -304,6 +304,8 @@ var _ = framework.CertManagerDescribe("CA Injector", func() { }) } + sideEffectsNone := admissionreg.SideEffectClassNone + injectorContext("validating webhook", &injectableTest{ makeInjectable: func(namePrefix string) runtime.Object { someURL := "https://localhost:8675" @@ -320,6 +322,8 @@ var _ = framework.CertManagerDescribe("CA Injector", func() { ClientConfig: admissionreg.WebhookClientConfig{ URL: &someURL, }, + SideEffects: &sideEffectsNone, + AdmissionReviewVersions: []string{"v1beta1"}, }, { Name: "hook2.fake.k8s.io", @@ -329,6 +333,8 @@ var _ = framework.CertManagerDescribe("CA Injector", func() { Namespace: f.Namespace.Name, }, }, + SideEffects: &sideEffectsNone, + AdmissionReviewVersions: []string{"v1beta1"}, }, }, } @@ -359,6 +365,8 @@ var _ = framework.CertManagerDescribe("CA Injector", func() { ClientConfig: admissionreg.WebhookClientConfig{ URL: &someURL, }, + SideEffects: &sideEffectsNone, + AdmissionReviewVersions: []string{"v1beta1"}, }, { Name: "hook2.fake.k8s.io", @@ -368,6 +376,8 @@ var _ = framework.CertManagerDescribe("CA Injector", func() { Namespace: f.Namespace.Name, }, }, + SideEffects: &sideEffectsNone, + AdmissionReviewVersions: []string{"v1beta1"}, }, }, } @@ -395,12 +405,18 @@ var _ = framework.CertManagerDescribe("CA Injector", func() { }, }, Spec: apiext.CustomResourceDefinitionSpec{ - Group: namePrefix + ".testing.cert-manager.io", - Version: "v1", + Group: namePrefix + ".testing.cert-manager.io", + Versions: []apiext.CustomResourceDefinitionVersion{ + { + Name: "v1", + }, + }, Conversion: &apiext.CustomResourceConversion{ Strategy: apiext.WebhookConverter, - WebhookClientConfig: &apiext.WebhookClientConfig{ - URL: &someURL, + Webhook: &apiext.WebhookConversion{ + ClientConfig: &apiext.WebhookClientConfig{ + URL: &someURL, + }, }, }, Names: apiext.CustomResourceDefinitionNames{ @@ -412,10 +428,10 @@ var _ = framework.CertManagerDescribe("CA Injector", func() { }, getCAs: func(obj runtime.Object) [][]byte { crd := obj.(*apiext.CustomResourceDefinition) - if crd.Spec.Conversion == nil || crd.Spec.Conversion.WebhookClientConfig == nil { + if crd.Spec.Conversion == nil || crd.Spec.Conversion.Webhook == nil || crd.Spec.Conversion.Webhook.ClientConfig == nil { return nil } - return [][]byte{crd.Spec.Conversion.WebhookClientConfig.CABundle} + return [][]byte{crd.Spec.Conversion.Webhook.ClientConfig.CABundle} }, disabled: "ConversionWebhook feature not yet enabled on test infra", })