chore: Minor rbac memory optimization (#7391)

* test: Add benchmark for static rbac roles
* static roles should only be allocated once
* A unit test that modifies the ast value should not mess with the globals
* Cache subject AST values to avoid reallocating slices
This commit is contained in:
Steven Masley
2023-05-03 14:42:24 -05:00
committed by GitHub
parent 2e9310b203
commit 3368b8b65f
8 changed files with 177 additions and 68 deletions
+5 -3
View File
@@ -144,7 +144,8 @@ var (
},
}),
Scope: rbac.ScopeAll,
}
}.WithCachedASTValue()
subjectAutostart = rbac.Subject{
ID: uuid.Nil.String(),
Roles: rbac.Roles([]rbac.Role{
@@ -161,7 +162,8 @@ var (
},
}),
Scope: rbac.ScopeAll,
}
}.WithCachedASTValue()
subjectSystemRestricted = rbac.Subject{
ID: uuid.Nil.String(),
Roles: rbac.Roles([]rbac.Role{
@@ -188,7 +190,7 @@ var (
},
}),
Scope: rbac.ScopeAll,
}
}.WithCachedASTValue()
)
// AsProvisionerd returns a context with an actor that has permissions required