diff --git a/internal/test/envtest/environment.go b/internal/test/envtest/environment.go index 5ac894675e29..90148275d8cc 100644 --- a/internal/test/envtest/environment.go +++ b/internal/test/envtest/environment.go @@ -72,7 +72,6 @@ import ( expapiwebhooks "sigs.k8s.io/cluster-api/exp/webhooks" "sigs.k8s.io/cluster-api/feature" internalwebhooks "sigs.k8s.io/cluster-api/internal/webhooks" - runtimewebhooks "sigs.k8s.io/cluster-api/internal/webhooks/runtime" "sigs.k8s.io/cluster-api/util/kubeconfig" "sigs.k8s.io/cluster-api/util/test/builder" "sigs.k8s.io/cluster-api/version" @@ -390,7 +389,7 @@ func newEnvironment(scheme *runtime.Scheme, additionalCRDDirectoryPaths []string if err := (&expapiwebhooks.MachinePool{}).SetupWebhookWithManager(mgr); err != nil { klog.Fatalf("unable to create webhook for machinepool: %+v", err) } - if err := (&runtimewebhooks.ExtensionConfig{}).SetupWebhookWithManager(mgr); err != nil { + if err := (&webhooks.ExtensionConfig{}).SetupWebhookWithManager(mgr); err != nil { klog.Fatalf("unable to create webhook for extensionconfig: %+v", err) } if err := (&expipamwebhooks.IPAddress{}).SetupWebhookWithManager(mgr); err != nil { diff --git a/main.go b/main.go index fd39798a273b..b09815fa29af 100644 --- a/main.go +++ b/main.go @@ -83,7 +83,6 @@ import ( "sigs.k8s.io/cluster-api/internal/contract" internalruntimeclient "sigs.k8s.io/cluster-api/internal/runtime/client" runtimeregistry "sigs.k8s.io/cluster-api/internal/runtime/registry" - runtimewebhooks "sigs.k8s.io/cluster-api/internal/webhooks/runtime" "sigs.k8s.io/cluster-api/util/apiwarnings" "sigs.k8s.io/cluster-api/util/flags" "sigs.k8s.io/cluster-api/version" @@ -833,7 +832,7 @@ func setupWebhooks(ctx context.Context, mgr ctrl.Manager, clusterCacheReader web // NOTE: ExtensionConfig is behind the RuntimeSDK feature gate flag. The webhook will prevent creating or updating // new objects if the feature flag is disabled. - if err := (&runtimewebhooks.ExtensionConfig{}).SetupWebhookWithManager(mgr); err != nil { + if err := (&webhooks.ExtensionConfig{}).SetupWebhookWithManager(mgr); err != nil { setupLog.Error(err, "Unable to create webhook", "webhook", "ExtensionConfig") os.Exit(1) } diff --git a/webhooks/alias.go b/webhooks/alias.go index 24637be90d28..a52055a0c2e2 100644 --- a/webhooks/alias.go +++ b/webhooks/alias.go @@ -25,6 +25,7 @@ import ( clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/internal/webhooks" + runtimewebhooks "sigs.k8s.io/cluster-api/internal/webhooks/runtime" ) // Cluster implements a validating and defaulting webhook for Cluster. @@ -125,3 +126,11 @@ type ClusterResourceSetBinding struct{} func (webhook *ClusterResourceSetBinding) SetupWebhookWithManager(mgr ctrl.Manager) error { return (&webhooks.ClusterResourceSetBinding{}).SetupWebhookWithManager(mgr) } + +// ExtensionConfig implements a defaulting and validating webhook for ExtensionConfig. +type ExtensionConfig struct{} + +// SetupWebhookWithManager sets up ClusterResourceSet webhooks. +func (webhook *ExtensionConfig) SetupWebhookWithManager(mgr ctrl.Manager) error { + return (&runtimewebhooks.ExtensionConfig{}).SetupWebhookWithManager(mgr) +}