Add instance-level API endpoint for Duo usage raw event data to support self-managed customers

Problem

Currently, the aiUsageData.all API endpoint that returns raw event data is scoped to a group/project namespace. This limitation prevents self-managed customers from accessing Duo usage data at the instance level.

Proposal

Create a single instance-level API endpoint for retrieving raw Duo usage event data (similar to aiUsageData.all) that is not scoped to a group/project namespace. This will enable self-managed customers to retrieve raw event data across their entire GitLab instance.

Note: We will not create instance-level endpoints for aggregated data (for now) - only for raw event data.

Requirements

  • Create an instance-level API endpoint that returns raw Duo usage event data
  • Ensure proper authorization and access controls for instance-level data access
    • Maybe restrict this to admins initially? Can confirm.
  • Support the same data retrieval capabilities as the current group-scoped aiUsageData.all endpoint
    • We can confirm the exact capabilities
  • Document the new endpoint for self-managed administrators

Part of the GitLab Duo and SDLC trends dashboard (ClickHouse) initiative.

Edited by 🤖 GitLab Bot 🤖