Mark Orbit as introduced in 19.4 and move UI status calls to GraphQL

What does this MR do and why?

Orbit changes from 19.6 ship in 19.5 and 19.4 through the backports (https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/work_items/1412). This MR marks them as introduced in 19.4. It also moves the admin health card and the query editor examples from REST to GraphQL.

  • 19.4 markers. Orbit @gl_introduced(version: "19.6.0") tags, GraphQL experiment: { milestone: '19.6' }, event, metric and audit event milestone: '19.6', and doc history lines change to 19.4. Migration milestones and milestone_removed stay as they are.
  • Query.orbit.serviceStatus. The admin Orbit health card reads the cluster health from GraphQL instead of GET /api/v4/orbit/status.
  • Query.orbit.queryTemplates. The query editor reads its examples from GraphQL instead of GET /api/v4/orbit/query/templates. The server sends the query text ready to show, so templateQueryText goes away.
query {
  orbit {
    serviceStatus { state version components { name state } }
    queryTemplates { name description query }
  }
}

Both REST routes stay, because the Orbit CLI (glab orbit remote status) and the Orbit agent skill call them. The access checks are the same as on REST.

References

Screenshots or screen recordings

The UI does not change. E2E run on a full local stack: GDK in SaaS mode plus a self-managed Puma, Siphon, NATS, ClickHouse, GKG, and local CustomersDot.

  • Orbit monetization E2E factory: 29 of 29 runs pass, with the start-state check, the final checks, and the recordings (https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/work_items/1399 scenarios).
  • SDLC round trip: a new issue reaches the graph (WorkItem count 1) and a query returns it.
  • No request to /api/v4/orbit/status or /api/v4/orbit/query/templates from the admin page or the query editor.
  • REST and GraphQL agree for a self-managed administrator who has no query access: templates 403 and queryTemplates: null, status healthy and serviceStatus.state: HEALTHY.
Admin page, before (REST) Admin page, after (GraphQL)
before-admin-page after-admin-page
Health card, expanded Query editor example, GitLab.com Query editor, no query access
sm-admin-health-card saas-query-editor-example-run sm-query-editor-no-access

How to set up and validate locally

  1. On a self-managed GDK with Orbit on, sign in as an administrator and go to Admin > GitLab Orbit.
  2. In the network panel, make sure that the page sends getOrbitAdminServiceStatus and no /api/v4/orbit/status request. The health card shows the service and its components.
  3. Go to Your work > GitLab Orbit > Query editor. Make sure that the page sends getOrbitQueryTemplates and no /api/v4/orbit/query/templates request.
  4. Select an example and run it.

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.

Merge request reports

Loading
Loading