From 3b55811e477504ed7e48d8a40c98f6bf89385473 Mon Sep 17 00:00:00 2001 From: Jan Fajerski Date: Wed, 18 Feb 2026 12:50:54 +0100 Subject: [PATCH] fix: reorder resource updates to cause fewer errors Signed-off-by: Jan Fajerski --- .../monitoring/monitoring-stack/components.go | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/pkg/controllers/monitoring/monitoring-stack/components.go b/pkg/controllers/monitoring/monitoring-stack/components.go index 76514cf9b..48c284110 100644 --- a/pkg/controllers/monitoring/monitoring-stack/components.go +++ b/pkg/controllers/monitoring/monitoring-stack/components.go @@ -56,30 +56,31 @@ func stackComponentReconcilers( deployAlertmanager := !ms.Spec.AlertmanagerConfig.Disabled return []reconciler.Reconciler{ - // Prometheus Deployment + // Create RBAC reconciler.NewUpdater(newServiceAccount(prometheusName, ms.Namespace), ms), - reconciler.NewUpdater(newPrometheusClusterRole(prometheusName, rbacVerbs), ms), - reconciler.NewUpdater(newAdditionalScrapeConfigsSecret(ms, additionalScrapeConfigsSecretName), ms), - reconciler.NewUpdater(newPrometheus(ms, prometheusName, - additionalScrapeConfigsSecretName, - thanos, prometheus), ms), - reconciler.NewUpdater(newPrometheusService(ms), ms), - reconciler.NewUpdater(newThanosSidecarService(ms), ms), - reconciler.NewOptionalUpdater(newPrometheusPDB(ms), ms, - *ms.Spec.PrometheusConfig.Replicas > 1), - - // Alertmanager Deployment reconciler.NewOptionalUpdater(newServiceAccount(alertmanagerName, ms.Namespace), ms, deployAlertmanager), + + reconciler.NewUpdater(newPrometheusClusterRole(prometheusName, rbacVerbs), ms), // create clusterrolebinding if nsSelector's present otherwise a rolebinding reconciler.NewOptionalUpdater(newClusterRoleBinding(ms, prometheusName), ms, createCRB), reconciler.NewOptionalUpdater(newRoleBindingForClusterRole(ms, prometheusName), ms, !hasNsSelector), reconciler.NewOptionalUpdater(newAlertManagerClusterRole(alertmanagerName, rbacVerbs), ms, deployAlertmanager), - // create clusterrolebinding if alertmanager is enabled and namespace selector is also present in MonitoringStack reconciler.NewOptionalUpdater(newClusterRoleBinding(ms, alertmanagerName), ms, deployAlertmanager && createCRB), reconciler.NewOptionalUpdater(newRoleBindingForClusterRole(ms, alertmanagerName), ms, deployAlertmanager && !hasNsSelector), + // Prometheus Deployment + reconciler.NewUpdater(newPrometheus(ms, prometheusName, + additionalScrapeConfigsSecretName, + thanos, prometheus), ms), + reconciler.NewUpdater(newPrometheusService(ms), ms), + reconciler.NewUpdater(newThanosSidecarService(ms), ms), + reconciler.NewUpdater(newAdditionalScrapeConfigsSecret(ms, additionalScrapeConfigsSecretName), ms), + reconciler.NewOptionalUpdater(newPrometheusPDB(ms), ms, + *ms.Spec.PrometheusConfig.Replicas > 1), + + // Alertmanager Deployment reconciler.NewOptionalUpdater(newAlertmanager(ms, alertmanagerName, alertmanager), ms, deployAlertmanager), reconciler.NewOptionalUpdater(newAlertmanagerService(ms), ms, deployAlertmanager), reconciler.NewOptionalUpdater(newAlertmanagerPDB(ms), ms, deployAlertmanager && *ms.Spec.AlertmanagerConfig.Replicas > 1),