Integrate Permission Controls into Duo Settings Pages

Summary

Integrate the DAP permission settings component into existing GitLab Duo configuration pages for both Self-Managed and GitLab.com environments.

Background

The DAP permission controls component needs to be integrated into the existing Duo settings pages at two different levels:

  • Self-Managed: /admin/gitlab_duo/configuration (instance-level)
  • GitLab.com: /groups/:group/-/settings/gitlab_duo/configuration (group-level)

Requirements

Integration Points

  • Add permission component to Self-Managed admin page (/admin/gitlab_duo/configuration)
  • Add permission component to GitLab.com group settings (/groups/:group/-/settings/gitlab_duo/configuration)
  • Position component appropriately within existing Duo settings layout
  • Ensure proper spacing and visual hierarchy with existing settings

Feature Flag Support

  • Handle duo_agent_platform_role_permissions feature flag visibility
  • Show/hide permission controls based on flag state
  • Graceful degradation when flag is disabled
  • Proper loading states during flag checks

Context Handling

  • Detect instance-level vs group-level context
  • Pass appropriate context to permission component
  • Handle different permission scopes based on context
  • Show context-appropriate help text and labels

Technical Implementation

  • Import and integrate DAP permission component
  • Add proper Vue component registration
  • Handle component props and event binding
  • Ensure proper CSS/styling integration
  • Add feature flag checks in templates

Design Requirements

  • Follow existing Duo settings page layout patterns
  • Maintain consistent spacing and typography
  • Add appropriate section headers and descriptions
  • Include help text explaining permission controls

Acceptance Criteria

  • Permission controls appear on Self-Managed admin Duo settings page
  • Permission controls appear on GitLab.com group Duo settings page
  • Controls are hidden when feature flag is disabled
  • Integration follows existing page layout and design patterns
  • Context is properly passed to permission component
  • Help text and labels are appropriate for each context
  • Parent Epic: #19742 (closed) - [Frontend] Role-based permissions controls DAP
  • Parent Epic: #19601 - Implement role-based access permissions for DAP
  • Depends on: Issue #1 (closed) - Create DAP Permission Settings Component
  • Related: #577172 (closed) - Technical scoping for DAP role-based access controls
Edited by 🤖 GitLab Bot 🤖