Merge pull request #29202 from 04kash/scaffolder-task-granular-permissions

Scaffolder task granular permissions
This commit is contained in:
Ben Lambert
2025-07-08 12:54:43 +02:00
committed by GitHub
28 changed files with 875 additions and 101 deletions
+10 -3
View File
@@ -12,6 +12,9 @@ export const actionExecutePermission: ResourcePermission<'scaffolder-action'>;
// @alpha
export const RESOURCE_TYPE_SCAFFOLDER_ACTION = 'scaffolder-action';
// @alpha
export const RESOURCE_TYPE_SCAFFOLDER_TASK = 'scaffolder-task';
// @alpha
export const RESOURCE_TYPE_SCAFFOLDER_TEMPLATE = 'scaffolder-template';
@@ -23,22 +26,26 @@ export const scaffolderPermissions: (
| BasicPermission
| ResourcePermission<'scaffolder-action'>
| ResourcePermission<'scaffolder-template'>
| ResourcePermission<'scaffolder-task'>
)[];
// @alpha
export const scaffolderTaskPermissions: BasicPermission[];
export const scaffolderTaskPermissions: (
| BasicPermission
| ResourcePermission<'scaffolder-task'>
)[];
// @alpha
export const scaffolderTemplatePermissions: ResourcePermission<'scaffolder-template'>[];
// @alpha
export const taskCancelPermission: BasicPermission;
export const taskCancelPermission: ResourcePermission<'scaffolder-task'>;
// @alpha
export const taskCreatePermission: BasicPermission;
// @alpha
export const taskReadPermission: BasicPermission;
export const taskReadPermission: ResourcePermission<'scaffolder-task'>;
// @alpha
export const templateManagementPermission: BasicPermission;
@@ -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,
});
/**