From a529e0076b7fd0d8e5a6dd0fcd0605046bf29637 Mon Sep 17 00:00:00 2001 From: Julien Levesy Date: Fri, 27 Oct 2023 16:55:09 +0200 Subject: [PATCH 1/2] fix(controllers): do not reconcile status updates --- internal/pkg/controllers/alertmanager_controller.go | 2 ++ internal/pkg/controllers/apikey_controller.go | 2 ++ internal/pkg/controllers/datasource_controller.go | 2 ++ internal/pkg/controllers/grafanadashboard_controller.go | 4 +++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/pkg/controllers/alertmanager_controller.go b/internal/pkg/controllers/alertmanager_controller.go index 4618bf3c..5592ac87 100644 --- a/internal/pkg/controllers/alertmanager_controller.go +++ b/internal/pkg/controllers/alertmanager_controller.go @@ -14,6 +14,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/predicate" ) const alertManagerFinalizerName = "alertmanagers.k8s.kevingomez.fr/finalizer" @@ -130,6 +131,7 @@ func StartAlertManagerReconciler(logger logr.Logger, ctrlManager ctrl.Manager, g func (r *AlertManagerReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&v1alpha1.AlertManager{}). + WithEventFilter(predicate.GenerationChangedPredicate{}). Complete(r) } diff --git a/internal/pkg/controllers/apikey_controller.go b/internal/pkg/controllers/apikey_controller.go index 18fde9d1..7ab61483 100644 --- a/internal/pkg/controllers/apikey_controller.go +++ b/internal/pkg/controllers/apikey_controller.go @@ -14,6 +14,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/predicate" ) //nolint:gosec @@ -147,6 +148,7 @@ func (r *APIKeyReconciler) doReconcileManifest(ctx context.Context, manifest *v1 func (r *APIKeyReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&v1alpha1.APIKey{}). + WithEventFilter(predicate.GenerationChangedPredicate{}). Complete(r) } diff --git a/internal/pkg/controllers/datasource_controller.go b/internal/pkg/controllers/datasource_controller.go index 3c104377..60aeb547 100644 --- a/internal/pkg/controllers/datasource_controller.go +++ b/internal/pkg/controllers/datasource_controller.go @@ -16,6 +16,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/predicate" ) const datasourcesFinalizerName = "datasources.k8s.kevingomez.fr/finalizer" @@ -141,6 +142,7 @@ func StartDatasourceReconciler(logger logr.Logger, ctrlManager ctrl.Manager, gra func (r *DatasourceReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&v1alpha1.Datasource{}). + WithEventFilter(predicate.GenerationChangedPredicate{}). Complete(r) } diff --git a/internal/pkg/controllers/grafanadashboard_controller.go b/internal/pkg/controllers/grafanadashboard_controller.go index 9a9464fa..51ff0b85 100644 --- a/internal/pkg/controllers/grafanadashboard_controller.go +++ b/internal/pkg/controllers/grafanadashboard_controller.go @@ -4,6 +4,8 @@ import ( "context" "sigs.k8s.io/controller-runtime/pkg/controller" + "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" + "sigs.k8s.io/controller-runtime/pkg/predicate" k8skevingomezfrv1 "github.com/K-Phoen/dark/api/v1" "github.com/K-Phoen/dark/internal/pkg/grafana" @@ -12,7 +14,6 @@ import ( "k8s.io/client-go/tools/record" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "sigs.k8s.io/controller-runtime/pkg/log" ) @@ -130,6 +131,7 @@ func (r *GrafanaDashboardReconciler) Reconcile(ctx context.Context, req ctrl.Req func (r *GrafanaDashboardReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). For(&k8skevingomezfrv1.GrafanaDashboard{}). + WithEventFilter(predicate.GenerationChangedPredicate{}). WithOptions(controller.Options{ MaxConcurrentReconciles: 5, }). From 653c817a0c720c0b37493f150323de8facb80e2e Mon Sep 17 00:00:00 2001 From: Julien Levesy Date: Sun, 29 Oct 2023 16:25:18 +0100 Subject: [PATCH 2/2] fix(worfkflow): use the project golanci-lint config file --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5cf223b0..615621aa 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -22,7 +22,7 @@ jobs: uses: reviewdog/action-golangci-lint@v2 with: github_token: ${{ secrets.GITHUB_TOKEN }} - golangci_lint_flags: "--config=.golangci.yaml" + golangci_lint_flags: "--config=build/golangci.yaml" reporter: github-pr-review go_version: ${{ matrix.go }} cache: false # managed by actions/setup-go @@ -73,4 +73,4 @@ jobs: workdir: ./docs/ github_token: ${{ secrets.github_token }} reporter: github-pr-review - level: warning \ No newline at end of file + level: warning