feat: add internal cluster admin endpoints

This commit is contained in:
Philipp
2026-06-11 09:35:25 +02:00
parent 376f6249b2
commit fd9a99a6d8
15 changed files with 561 additions and 7 deletions
+3 -1
View File
@@ -21,6 +21,8 @@ func TestCan(t *testing.T) {
{name: "viewer cannot power vm", role: RoleViewer, action: ActionVMPower, want: false},
{name: "viewer cannot create vm", role: RoleViewer, action: ActionVMCreate, want: false},
{name: "tenant roles cannot manage cluster", role: RoleOwner, action: ActionClusterManage, want: false},
{name: "operator can manage cluster", role: RoleOperator, action: ActionClusterManage, want: true},
{name: "operator cannot read tenant vms", role: RoleOperator, action: ActionVMRead, want: false},
{name: "unknown role denied", role: Role("unknown"), action: ActionVMRead, want: false},
{name: "unknown action denied", role: RoleOwner, action: Action("unknown.action"), want: false},
}
@@ -35,7 +37,7 @@ func TestCan(t *testing.T) {
}
func TestPolicyMatrix(t *testing.T) {
roles := []Role{RoleOwner, RoleAdmin, RoleMember, RoleViewer}
roles := []Role{RoleOwner, RoleAdmin, RoleMember, RoleViewer, RoleOperator}
actions := []Action{
ActionVMRead,
ActionVMPower,