From 70f830caef27ff74960a8478bb8f170af93ef195 Mon Sep 17 00:00:00 2001 From: Luca Bernstein Date: Mon, 11 Nov 2024 16:23:41 +0100 Subject: [PATCH] Cleanup object selector version constraint (#1011) --- .../app/app.go | 5 +- pkg/cmd/options.go | 4 +- pkg/webhook/controlplane/add.go | 49 ++++++------------- 3 files changed, 18 insertions(+), 40 deletions(-) diff --git a/cmd/gardener-extension-provider-azure/app/app.go b/cmd/gardener-extension-provider-azure/app/app.go index 8ac9d0727..0811ae984 100644 --- a/cmd/gardener-extension-provider-azure/app/app.go +++ b/cmd/gardener-extension-provider-azure/app/app.go @@ -121,9 +121,8 @@ func NewControllerManagerCommand(ctx context.Context) *cobra.Command { Namespace: os.Getenv("WEBHOOK_CONFIG_NAMESPACE"), } - gardenerVersion = new(string) controllerSwitches = azurecmd.ControllerSwitchOptions() - webhookSwitches = azurecmd.WebhookSwitchOptions(gardenerVersion) + webhookSwitches = azurecmd.WebhookSwitchOptions() webhookOptions = webhookcmd.NewAddToManagerOptions( azure.Name, genericactuator.ShootWebhooksResourceName, @@ -215,8 +214,6 @@ func NewControllerManagerCommand(ctx context.Context) *cobra.Command { } log.Info("Adding controllers to manager") - *gardenerVersion = generalOpts.Completed().GardenerVersion - configFileOpts.Completed().ApplyETCDStorage(&azurecontrolplaneexposure.DefaultAddOptions.ETCDStorage) configFileOpts.Completed().ApplyHealthCheckConfig(&healthcheck.DefaultAddOptions.HealthCheckConfig) healthCheckCtrlOpts.Completed().Apply(&healthcheck.DefaultAddOptions.Controller) diff --git a/pkg/cmd/options.go b/pkg/cmd/options.go index 5d74a642e..7d720d0e4 100644 --- a/pkg/cmd/options.go +++ b/pkg/cmd/options.go @@ -54,12 +54,12 @@ func ControllerSwitchOptions() *controllercmd.SwitchOptions { } // WebhookSwitchOptions are the webhookcmd.SwitchOptions for the provider webhooks. -func WebhookSwitchOptions(gardenerVersion *string) *webhookcmd.SwitchOptions { +func WebhookSwitchOptions() *webhookcmd.SwitchOptions { return webhookcmd.NewSwitchOptions( webhookcmd.Switch(extensionsnetworkwebhook.WebhookName, networkwebhook.AddToManager), webhookcmd.Switch(acceleratednetworkwebhook.WebhookName, acceleratednetworkwebhook.AddToManager), webhookcmd.Switch(infrastructurewebhook.WebhookName, infrastructurewebhook.AddToManager), - webhookcmd.Switch(extensionscontrolplanewebhook.WebhookName, controlplanewebhook.AddToManager(gardenerVersion)), + webhookcmd.Switch(extensionscontrolplanewebhook.WebhookName, controlplanewebhook.AddToManager), webhookcmd.Switch(extensionscontrolplanewebhook.ExposureWebhookName, controlplaneexposurewebhook.AddToManager), webhookcmd.Switch(extensionscloudproviderwebhook.WebhookName, cloudproviderwebhook.AddToManager), webhookcmd.Switch(topology.WebhookName, topology.AddToManager), diff --git a/pkg/webhook/controlplane/add.go b/pkg/webhook/controlplane/add.go index a7508457c..8299463cf 100644 --- a/pkg/webhook/controlplane/add.go +++ b/pkg/webhook/controlplane/add.go @@ -5,9 +5,6 @@ package controlplane import ( - "fmt" - - "github.com/Masterminds/semver/v3" extensionswebhook "github.com/gardener/gardener/extensions/pkg/webhook" "github.com/gardener/gardener/extensions/pkg/webhook/controlplane" "github.com/gardener/gardener/extensions/pkg/webhook/controlplane/genericmutator" @@ -27,43 +24,27 @@ import ( var ( logger = log.Log.WithName("azure-controlplane-webhook") - // TODO(LucaBernstein): Clean up the gardener version check after October/2024. - versionConstraintGreaterEqual198 *semver.Constraints ) func init() { var err error - versionConstraintGreaterEqual198, err = semver.NewConstraint(">= 1.98") utilruntime.Must(err) } // AddToManager creates a webhook and adds it to the manager. -func AddToManager(gardenerVersion *string) func(mgr manager.Manager) (*extensionswebhook.Webhook, error) { - return func(mgr manager.Manager) (*extensionswebhook.Webhook, error) { - var objectSelector *metav1.LabelSelector - if gardenerVersion != nil && len(*gardenerVersion) > 0 { - version, err := semver.NewVersion(*gardenerVersion) - if err != nil { - return nil, fmt.Errorf("failed to parse gardener version: %v", err) - } - if versionConstraintGreaterEqual198.Check(version) { - objectSelector = &metav1.LabelSelector{MatchLabels: map[string]string{v1beta1constants.LabelExtensionProviderMutatedByControlplaneWebhook: "true"}} - } - } - - logger.Info("Adding webhook to manager") - fciCodec := oscutils.NewFileContentInlineCodec() - return controlplane.New(mgr, controlplane.Args{ - Kind: controlplane.KindShoot, - Provider: azure.Type, - Types: []extensionswebhook.Type{ - {Obj: &appsv1.Deployment{}}, - {Obj: &vpaautoscalingv1.VerticalPodAutoscaler{}}, - {Obj: &extensionsv1alpha1.OperatingSystemConfig{}}, - }, - ObjectSelector: objectSelector, - Mutator: genericmutator.NewMutator(mgr, NewEnsurer(mgr, logger), oscutils.NewUnitSerializer(), - kubelet.NewConfigCodec(fciCodec), fciCodec, logger), - }) - } +func AddToManager(mgr manager.Manager) (*extensionswebhook.Webhook, error) { + logger.Info("Adding webhook to manager") + fciCodec := oscutils.NewFileContentInlineCodec() + return controlplane.New(mgr, controlplane.Args{ + Kind: controlplane.KindShoot, + Provider: azure.Type, + Types: []extensionswebhook.Type{ + {Obj: &appsv1.Deployment{}}, + {Obj: &vpaautoscalingv1.VerticalPodAutoscaler{}}, + {Obj: &extensionsv1alpha1.OperatingSystemConfig{}}, + }, + ObjectSelector: &metav1.LabelSelector{MatchLabels: map[string]string{v1beta1constants.LabelExtensionProviderMutatedByControlplaneWebhook: "true"}}, + Mutator: genericmutator.NewMutator(mgr, NewEnsurer(mgr, logger), oscutils.NewUnitSerializer(), + kubelet.NewConfigCodec(fciCodec), fciCodec, logger), + }) }