feat: initial implementation of scaffolder granular permissions

Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Frank Kong <frkong@redhat.com>
This commit is contained in:
Kashish Mittal
2025-03-12 18:35:41 -04:00
parent 9ad11f6555
commit 152ae1e3c5
11 changed files with 384 additions and 59 deletions
@@ -30,6 +30,13 @@ export const RESOURCE_TYPE_SCAFFOLDER_TEMPLATE = 'scaffolder-template';
*/
export const RESOURCE_TYPE_SCAFFOLDER_ACTION = 'scaffolder-action';
/**
* Permission resource type which corresponds to scaffolder tasks
*
* @alpha
*/
export const RESOURCE_TYPE_SCAFFOLDER_TASK = 'scaffolder-task';
/**
* This permission is used to authorize actions that involve executing
* an action from a template.
@@ -89,6 +96,7 @@ export const taskReadPermission = createPermission({
attributes: {
action: 'read',
},
resourceType: RESOURCE_TYPE_SCAFFOLDER_TASK,
});
/**
@@ -111,6 +119,7 @@ export const taskCreatePermission = createPermission({
export const taskCancelPermission = createPermission({
name: 'scaffolder.task.cancel',
attributes: {},
resourceType: RESOURCE_TYPE_SCAFFOLDER_TASK,
});
/**