diff --git a/internal/cnpgi/operator/specs/role.go b/internal/cnpgi/operator/specs/role.go index 9d61a7b..8ddea17 100644 --- a/internal/cnpgi/operator/specs/role.go +++ b/internal/cnpgi/operator/specs/role.go @@ -124,6 +124,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, @@ -134,7 +138,7 @@ func BuildRoleBinding( { Kind: "ServiceAccount", APIGroup: "", - Name: cluster.Name, + Name: clusterServiceAccountName, Namespace: cluster.Namespace, }, },