Loading
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, GraphQLexperiment: { milestone: '19.6' }, event, metric and audit eventmilestone: '19.6', and doc history lines change to 19.4. Migration milestones andmilestone_removedstay as they are. Query.orbit.serviceStatus. The admin Orbit health card reads the cluster health from GraphQL instead ofGET /api/v4/orbit/status.Query.orbit.queryTemplates. The query editor reads its examples from GraphQL instead ofGET /api/v4/orbit/query/templates. The server sends the query text ready to show, sotemplateQueryTextgoes 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
- Backport tracker: https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/work_items/1412
- Open MRs that touch the same files, whichever merges second rebases: !261947 (merged) (query editor, GQL only), !264891 (merged) and !264743 (merged) (Orbit GraphQL files).
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 (
WorkItemcount 1) and a query returns it. - No request to
/api/v4/orbit/statusor/api/v4/orbit/query/templatesfrom the admin page or the query editor. - REST and GraphQL agree for a self-managed administrator who has no query access: templates
403andqueryTemplates: null, statushealthyandserviceStatus.state: HEALTHY.
| Admin page, before (REST) | Admin page, after (GraphQL) |
|---|---|
![]() |
![]() |
| Health card, expanded | Query editor example, GitLab.com | Query editor, no query access |
|---|---|---|
![]() |
![]() |
![]() |
How to set up and validate locally
- On a self-managed GDK with Orbit on, sign in as an administrator and go to Admin > GitLab Orbit.
- In the network panel, make sure that the page sends
getOrbitAdminServiceStatusand no/api/v4/orbit/statusrequest. The health card shows the service and its components. - Go to Your work > GitLab Orbit > Query editor. Make sure that the page sends
getOrbitQueryTemplatesand no/api/v4/orbit/query/templatesrequest. - 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.




