Remove the REST Orbit graph_status endpoint

What does this MR do and why?

This MR removes the hidden REST route GET /api/v4/orbit/graph_status. The Orbit dashboard, the Duo readiness row, and the Orbit CLI read the same data from GraphQL.

Removed Replacement
GET /api/v4/orbit/graph_status Group.orbit and Project.orbit: indexing { state lastCompletedAt areas projects } and itemCounts
Changes
  • ee/lib/api/orbit/data.rb: remove the route. Remove the orbit_status_route setting and the license branch that read it. No route sets it now.
  • GrpcClient#get_graph_status and its map methods go.
  • The orbit_graph_status rate limit goes.
  • Regenerate the route list and the fine-grained token docs. OpenAPI and doc/api/orbit.md did not list the hidden route.
Parity on a local stack

We sent the REST route and the GraphQL fields for one group and one project, before the removal.

Target Projects (indexed, known, gaps) Item types Item count sum Count mismatches
Group gitlab-org 4, 4, 0 in both 31 in both 767,093 in both 0
Project gitlab-org/gitlab-test 1, 1, 0 in both 31 in both 99 in both 0

lastCompletedAt was the same in both. REST state indexed is GraphQL state READY.

GraphQL has no field for these REST values:

  • The state of each item type.
  • last_started_at, last_duration_ms, and last_error, for all indexing and for each area.
  • The llm text format.

ai_workflows tokens can read indexing and itemCounts. The namespace request spec covers this.

References

Screenshots or screen recordings

None. This MR has no UI change.

How to set up and validate locally

  1. Send GET /api/v4/orbit/graph_status?full_path=<group>. The response is 404 Not Found.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Michael Angelo Rivera

Merge request reports

Loading
Loading