From 5d39cea85790541254685ea463eab3dd3b19435e Mon Sep 17 00:00:00 2001 From: Sunny Date: Wed, 16 Aug 2023 10:54:29 +0000 Subject: [PATCH] Add a common finalizer for the reconcilers Other controllers use a common constant for finalizers. In this repository, we have two separate constants with the same common value for the finalizer. Replace the two finalizer constants with a common finalizer for the controller. Signed-off-by: Sunny --- api/v1beta2/condition_types.go | 2 ++ api/v1beta2/imagepolicy_types.go | 2 ++ api/v1beta2/imagerepository_types.go | 2 ++ internal/controller/imagepolicy_controller.go | 6 +++--- internal/controller/imagerepository_controller.go | 6 +++--- internal/controller/scan_test.go | 2 +- main.go | 2 +- 7 files changed, 14 insertions(+), 8 deletions(-) diff --git a/api/v1beta2/condition_types.go b/api/v1beta2/condition_types.go index 48d6f487..e6672c48 100644 --- a/api/v1beta2/condition_types.go +++ b/api/v1beta2/condition_types.go @@ -16,6 +16,8 @@ limitations under the License. package v1beta2 +const ImageFinalizer = "finalizers.fluxcd.io" + const ( // ImageURLInvalidReason represents the fact that a given repository has an invalid image URL. ImageURLInvalidReason string = "ImageURLInvalid" diff --git a/api/v1beta2/imagepolicy_types.go b/api/v1beta2/imagepolicy_types.go index a7369a77..ae14cd69 100644 --- a/api/v1beta2/imagepolicy_types.go +++ b/api/v1beta2/imagepolicy_types.go @@ -22,6 +22,8 @@ import ( ) const ImagePolicyKind = "ImagePolicy" + +// Deprecated: Use ImageFinalizer. const ImagePolicyFinalizer = "finalizers.fluxcd.io" // ImagePolicySpec defines the parameters for calculating the diff --git a/api/v1beta2/imagerepository_types.go b/api/v1beta2/imagerepository_types.go index abfd736e..faa27fc9 100644 --- a/api/v1beta2/imagerepository_types.go +++ b/api/v1beta2/imagerepository_types.go @@ -26,6 +26,8 @@ import ( ) const ImageRepositoryKind = "ImageRepository" + +// Deprecated: Use ImageFinalizer. const ImageRepositoryFinalizer = "finalizers.fluxcd.io" // ImageRepositorySpec defines the parameters for scanning an image diff --git a/internal/controller/imagepolicy_controller.go b/internal/controller/imagepolicy_controller.go index ec001972..b5fc9103 100644 --- a/internal/controller/imagepolicy_controller.go +++ b/internal/controller/imagepolicy_controller.go @@ -188,8 +188,8 @@ func (r *ImagePolicyReconciler) Reconcile(ctx context.Context, req ctrl.Request) // between init and delete. // Note: Finalizers in general can only be added when the deletionTimestamp // is not set. - if !controllerutil.ContainsFinalizer(obj, imagev1.ImagePolicyFinalizer) { - controllerutil.AddFinalizer(obj, imagev1.ImagePolicyFinalizer) + if !controllerutil.ContainsFinalizer(obj, imagev1.ImageFinalizer) { + controllerutil.AddFinalizer(obj, imagev1.ImageFinalizer) return ctrl.Result{Requeue: true}, nil } @@ -421,7 +421,7 @@ func (r *ImagePolicyReconciler) applyPolicy(ctx context.Context, obj *imagev1.Im // reconcileDelete handles the deletion of the object. func (r *ImagePolicyReconciler) reconcileDelete(ctx context.Context, obj *imagev1.ImagePolicy) (reconcile.Result, error) { // Remove our finalizer from the list. - controllerutil.RemoveFinalizer(obj, imagev1.ImagePolicyFinalizer) + controllerutil.RemoveFinalizer(obj, imagev1.ImageFinalizer) // Stop reconciliation as the object is being deleted. return ctrl.Result{}, nil diff --git a/internal/controller/imagerepository_controller.go b/internal/controller/imagerepository_controller.go index 7127570d..3a5fee05 100644 --- a/internal/controller/imagerepository_controller.go +++ b/internal/controller/imagerepository_controller.go @@ -173,8 +173,8 @@ func (r *ImageRepositoryReconciler) Reconcile(ctx context.Context, req ctrl.Requ // between init and delete. // Note: Finalizers in general can only be added when the deletionTimestamp // is not set. - if !controllerutil.ContainsFinalizer(obj, imagev1.ImageRepositoryFinalizer) { - controllerutil.AddFinalizer(obj, imagev1.ImageRepositoryFinalizer) + if !controllerutil.ContainsFinalizer(obj, imagev1.ImageFinalizer) { + controllerutil.AddFinalizer(obj, imagev1.ImageFinalizer) return ctrl.Result{Requeue: true}, nil } @@ -537,7 +537,7 @@ func (r *ImageRepositoryReconciler) scan(ctx context.Context, obj *imagev1.Image // reconcileDelete handles the deletion of the object. func (r *ImageRepositoryReconciler) reconcileDelete(ctx context.Context, obj *imagev1.ImageRepository) (ctrl.Result, error) { // Remove our finalizer from the list. - controllerutil.RemoveFinalizer(obj, imagev1.ImageRepositoryFinalizer) + controllerutil.RemoveFinalizer(obj, imagev1.ImageFinalizer) // Stop reconciliation as the object is being deleted. return ctrl.Result{}, nil diff --git a/internal/controller/scan_test.go b/internal/controller/scan_test.go index 88d61c7d..0ef2f5d4 100644 --- a/internal/controller/scan_test.go +++ b/internal/controller/scan_test.go @@ -176,7 +176,7 @@ func TestImageRepositoryReconciler_repositorySuspended(t *testing.T) { repo.Namespace = imageRepoName.Namespace // Add finalizer so that reconciliation reaches suspend check. - controllerutil.AddFinalizer(&repo, imagev1.ImageRepositoryFinalizer) + controllerutil.AddFinalizer(&repo, imagev1.ImageFinalizer) builder := fakeclient.NewClientBuilder().WithScheme(testEnv.GetScheme()) builder.WithObjects(&repo) diff --git a/main.go b/main.go index a0b6d34b..a94fadde 100644 --- a/main.go +++ b/main.go @@ -203,7 +203,7 @@ func main() { os.Exit(1) } - metricsH := helper.NewMetrics(mgr, metrics.MustMakeRecorder(), imagev1.ImageRepositoryFinalizer) + metricsH := helper.NewMetrics(mgr, metrics.MustMakeRecorder(), imagev1.ImageFinalizer) if err := (&controller.ImageRepositoryReconciler{ Client: mgr.GetClient(),