Skip to content

Commit 70f43db

Browse files
authored
fix: Fix the case, one service account has multiple roles (#63)
1 parent 9dab373 commit 70f43db

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

controllers/namespacescope_controller.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,9 @@ func (r *NamespaceScopeReconciler) generateRBACToNamespace(instance *operatorv1.
421421
}
422422
for _, sa := range saNames {
423423
roleList, err := r.GetRolesFromServiceAccount(sa, fromNs)
424+
425+
klog.V(2).Infof("Roles waiting to be copied: %v", roleList)
426+
424427
if err != nil {
425428
return err
426429
}
@@ -512,7 +515,7 @@ func (r *NamespaceScopeReconciler) CreateRole(roleNames []string, labels map[str
512515
klog.Errorf("Failed to get role %s in namespace %s: %v", roleName, fromNs, err)
513516
return err
514517
}
515-
hashedServiceAccount := sha256.Sum256([]byte(saName + fromNs))
518+
hashedServiceAccount := sha256.Sum256([]byte(roleName + saName + fromNs))
516519
name := strings.Split(roleName, ".")[0] + "-" + hex.EncodeToString(hashedServiceAccount[:7])
517520
namespace := toNs
518521
role := &rbacv1.Role{
@@ -529,7 +532,7 @@ func (r *NamespaceScopeReconciler) CreateRole(roleNames []string, labels map[str
529532
klog.Errorf("Failed to update role %s/%s: %v", namespace, name, err)
530533
return err
531534
}
532-
return nil
535+
continue
533536
}
534537
klog.Errorf("Failed to create role %s/%s: %v", namespace, name, err)
535538
return err

0 commit comments

Comments
 (0)