Skip to content

Commit 8223967

Browse files
committed
fix: monitoring: create unique cluster roles
Otherwise two stack with the same name in two namespaces try to create the same cluster roles. Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
1 parent 37b64f3 commit 8223967

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

pkg/controllers/monitoring/monitoring-stack/components.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ func stackComponentReconcilers(
5050
) []reconciler.Reconciler {
5151
prometheusName := ms.Name + "-prometheus"
5252
alertmanagerName := ms.Name + "-alertmanager"
53+
namespace := ms.Namespace
54+
prometheusClusterRoleName := ms.Name + "-prometheus" + "-" + namespace
55+
alertmanagerClusterRoleName := ms.Name + "-alertmanager" + "-" + namespace
5356
additionalScrapeConfigsSecretName := ms.Name + "-self-scrape"
5457
hasNsSelector := ms.Spec.NamespaceSelector != nil
5558
createCRB := hasNsSelector && ms.Spec.CreateClusterRoleBindings == stack.CreateClusterRoleBindings
@@ -58,7 +61,7 @@ func stackComponentReconcilers(
5861
return []reconciler.Reconciler{
5962
// Prometheus Deployment
6063
reconciler.NewUpdater(newServiceAccount(prometheusName, ms.Namespace), ms),
61-
reconciler.NewUpdater(newPrometheusClusterRole(prometheusName, rbacVerbs), ms),
64+
reconciler.NewUpdater(newPrometheusClusterRole(prometheusClusterRoleName, rbacVerbs), ms),
6265
reconciler.NewUpdater(newAdditionalScrapeConfigsSecret(ms, additionalScrapeConfigsSecretName), ms),
6366
reconciler.NewUpdater(newPrometheus(ms, prometheusName,
6467
additionalScrapeConfigsSecretName,
@@ -71,13 +74,13 @@ func stackComponentReconcilers(
7174
// Alertmanager Deployment
7275
reconciler.NewOptionalUpdater(newServiceAccount(alertmanagerName, ms.Namespace), ms, deployAlertmanager),
7376
// create clusterrolebinding if nsSelector's present otherwise a rolebinding
74-
reconciler.NewOptionalUpdater(newClusterRoleBinding(ms, prometheusName), ms, createCRB),
77+
reconciler.NewOptionalUpdater(newClusterRoleBinding(ms, prometheusClusterRoleName), ms, createCRB),
7578
reconciler.NewOptionalUpdater(newRoleBindingForClusterRole(ms, prometheusName), ms, !hasNsSelector),
7679

77-
reconciler.NewOptionalUpdater(newAlertManagerClusterRole(alertmanagerName, rbacVerbs), ms, deployAlertmanager),
80+
reconciler.NewOptionalUpdater(newAlertManagerClusterRole(alertmanagerClusterRoleName, rbacVerbs), ms, deployAlertmanager),
7881

7982
// create clusterrolebinding if alertmanager is enabled and namespace selector is also present in MonitoringStack
80-
reconciler.NewOptionalUpdater(newClusterRoleBinding(ms, alertmanagerName), ms, deployAlertmanager && createCRB),
83+
reconciler.NewOptionalUpdater(newClusterRoleBinding(ms, alertmanagerClusterRoleName), ms, deployAlertmanager && createCRB),
8184
reconciler.NewOptionalUpdater(newRoleBindingForClusterRole(ms, alertmanagerName), ms, deployAlertmanager && !hasNsSelector),
8285

8386
reconciler.NewOptionalUpdater(newAlertmanager(ms, alertmanagerName, alertmanager), ms, deployAlertmanager),

0 commit comments

Comments
 (0)