[go: up one dir, main page]

Skip to content

Workspaces should have UI feedback when agent config file is invalid

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Hey Claude, can you look at this slack thread and suggest a few ideas 
on improvements we could make to Workspaces? The ideas should be written 
like a Requirements doc stored in a GitLab issue.

Background

Users are experiencing difficulties with GitLab Workspaces configuration, particularly around agent setup and validation. Key issues include:

  • No validation of agent YAML config files before commit
  • Lack of visibility into configuration errors
  • Difficult debugging process for permissions and configuration issues
  • Complex navigation through group hierarchies to find agent mappings

Problem Statement

Currently, users have no immediate feedback when their Workspaces configuration is invalid, leading to failed setups without clear error messages or remediation steps. The configuration process is git-based rather than UI-driven, making it impossible to validate inputs before commit. Additionally, the group hierarchy navigation and agent mapping visualization need improvement.

Proposed Solutions

1. Real-time Configuration Validation

Description: Implement real-time validation of Workspaces agent configurations with immediate feedback to users.

Requirements:

  1. Create an RPC endpoint in KAS (Kubernetes Agent Server) that Rails can call to validate configuration files
  2. Implement JSON schema validation for basic YAML structure verification
  3. Perform model validations on WorkspacesAgentConfig to provide specific error messages
  4. Display validation status and error messages in the UI wherever agent configurations are shown
  5. Add visual indicators (badges) to show config status (valid/invalid)

Acceptance Criteria:

  • Users receive immediate feedback when viewing or editing agent configurations
  • Error messages are specific and actionable (e.g., "dns_zone is an invalid domain" rather than generic errors)
  • Validation status is visible in the agent list, workspace creation page, and agent authorization pages
  • JSON schema validation prevents structural errors in the YAML file

2. Improved Agent Mapping Visualization

Description: Enhance the UX for viewing and managing agent mappings across group hierarchies.

Requirements:

  1. Create a hierarchical view of group agent mappings
  2. Show agent project origin and permissions clearly in the UI
  3. Implement a search/filter function for finding mapped agents
  4. Display agent status information alongside mapping information
  5. Add tooltips with complete agent details and required permissions

Acceptance Criteria:

  • Users can easily locate mapped agents in their group hierarchy
  • Agent origin and permissions are clearly visible without requiring hover actions
  • Search functionality allows quick location of specific agents
  • Status information helps identify configuration issues

3. Web UI-Based Configuration Interface

Description: Move Workspaces configuration from YAML files to a web-based UI interface.

Requirements:

  1. Create a dedicated Workspaces configuration section in the GitLab UI
  2. Implement form-based input for all agent configuration options
  3. Add real-time validation with immediate feedback
  4. Maintain version control of configurations through the UI
  5. Provide export/import functionality for configurations

Acceptance Criteria:

  • All agent configuration options are available through the UI
  • Form inputs are validated in real-time with clear error messages
  • Configuration changes are version controlled
  • Users can export configurations to YAML and import existing configurations
  • UI prevents invalid configurations from being saved

Technical Constraints

  1. Must maintain backward compatibility with existing YAML-based configurations
  2. Should integrate with existing GitLab Agent for Kubernetes architecture
  3. Must respect existing permission models and security constraints
  4. Should support both UI-based and git-based configuration methods during transition

Success Metrics

  1. Reduction in support tickets related to agent configuration issues
  2. Decreased time to successfully set up a new Workspace
  3. Increased success rate of first-time Workspace configurations
  4. Positive user feedback on configuration process
  5. Reduced time spent debugging configuration issues

Out of Scope

  1. Changes to the underlying agent architecture
  2. Modifications to the existing permission model
  3. Integration with external validation services
  4. Automatic configuration fixes or suggestions

Dependencies

  1. KAS team availability for RPC endpoint implementation
  2. UX team input on interface design
  3. Frontend team capacity for UI implementation
  4. Backend team availability for validation logic
  5. Security team review of new configuration flow

Risks and Mitigations

Risks:

  1. User resistance to moving from git-based to UI-based configuration
  2. Performance impact of real-time validation
  3. Complexity in maintaining dual configuration methods

Mitigations:

  1. Maintain support for both configuration methods
  2. Implement validation caching and rate limiting
  3. Provide clear migration path and documentation
Edited by 🤖 GitLab Bot 🤖