[Frontend] Display custom roles with DAP custom permissions on GitLab Duo configuration page
Summary
This issue covers the frontend work needed to display and manage DAP custom permissions in two locations:
- Display custom roles with DAP permissions on the GitLab Duo configuration page
- Extend the custom roles interface to allow assigning DAP custom permissions to custom roles
Background
We need to provide UI for managing custom permissions that allow fine-grained control over DAP access beyond the minimum role settings.
Requirements
Part 1: Display Custom Roles on Duo Configuration Page
Location: GitLab Duo configuration page, below the minimal needed roles settings (execute and manage)
Display:
-
List custom roles that have at least one DAP custom permission defined (from #579563 (closed)) -
Show an "Edit" button next to each custom role
Part 2: Extend Custom Roles Interface
Location: Custom roles creation/editing interface
New Permissions to Add:
-
Add manage_duo_agent_platformcustom permission checkbox/toggle -
Add execute_duo_agent_platformcustom permission checkbox/toggle -
Include appropriate labels and help text for each permission -
Follow existing custom permission UI patterns
Validation:
-
Ensure permissions can be toggled independently -
Show appropriate validation messages if needed -
Ensure permissions can't be assigned or will get unassigned for Minimal Access role
Technical Implementation
-
Use GitLab UI components and design system -
Follow existing patterns from Duo settings and custom roles pages -
Use feature flag duo_agent_platform_role_permissionsfor visibility control
Acceptance Criteria
-
Custom roles with DAP permissions are listed on Duo configuration page -
Edit button navigates to custom role editing interface -
Custom role interface includes both new DAP custom permissions -
Permissions can be assigned/unassigned from custom roles -
UI follows GitLab design system and accessibility standards -
Feature flag properly controls visibility -
Integration tests cover both display and editing functionality -
Minimal Access role can't use the two new custom permissions
Related Issues
- Parent Epic: #19742 (closed) - [Frontend] Role-based permissions controls DAP
- Depends on: #579563 (closed) - Custom permissions backend implementation
- Related: #578934 (closed) - Create DAP Permission Settings Component
- Related: #578935 - Integrate Permission Controls into Duo Settings Pages
Edited by Lukas Wanko