diff --git a/internal/cnpgi/operator/specs/role.go b/internal/cnpgi/operator/specs/role.go index 0972f473..6fee7ec4 100644 --- a/internal/cnpgi/operator/specs/role.go +++ b/internal/cnpgi/operator/specs/role.go @@ -127,6 +127,10 @@ func ObjectStoreNamesFromRole(role *rbacv1.Role) []string { func BuildRoleBinding( cluster *cnpgv1.Cluster, ) *rbacv1.RoleBinding { + clusterServiceAccountName := cluster.Name + if cluster.Spec.ServiceAccountName != "" { + clusterServiceAccountName = cluster.Spec.ServiceAccountName + } return &rbacv1.RoleBinding{ ObjectMeta: metav1.ObjectMeta{ Namespace: cluster.Namespace, @@ -136,7 +140,7 @@ func BuildRoleBinding( { Kind: "ServiceAccount", APIGroup: "", - Name: cluster.Name, + Name: clusterServiceAccountName, Namespace: cluster.Namespace, }, },