Loading
Mark non-essential Orbit endpoints as experimental
What does this MR do and why?
Only the core Orbit endpoints (query, status, skills) are stable enough to keep as Beta. This marks the schema, tools, DSL, format, graph status and agent command endpoints as Experiment, so we can remove them later without rushing. No endpoint is removed.
References
The change is small so it can be backported to the stable branches.
Screenshots or screen recordings
Status of every public /api/v4/orbit/* route:
| Route | Before | After |
|---|---|---|
POST /orbit/query |
Beta | Beta |
POST /orbit/query/:name |
Beta | Beta |
GET /orbit/query/templates |
Beta | Beta |
GET /orbit/status |
Beta | Beta |
GET /orbit/skills |
Beta | Beta |
GET/HEAD /orbit/skills/:name |
Beta | Beta |
GET /orbit/skills/:name/*path |
Beta | Beta |
GET /orbit/schema |
Beta | Experiment |
GET /orbit/tools |
Beta | Experiment |
GET /orbit/schema/dsl |
none | Experiment |
GET /orbit/schema/format |
none | Experiment |
GET /orbit/graph_status |
none | Experiment |
GET /orbit/agent/commands |
none | Experiment |
POST /orbit/agent/commands/:name |
none | Experiment |
GET /orbit/grep |
Experiment | Experiment |
POST /orbit/context |
Experiment | Experiment |
graph_status is marked Experiment here. !264745 (merged) removes it on master later and will rebase over this change.
How to set up and validate locally
- Run
bundle exec rspec ee/spec/requests/api/orbit/data_spec.rb(235 examples pass).
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist.
Agent context
ee/lib/api/orbit/data.rb:route_setting :lifecycle, :experimenton schema and tools (was:beta) and added on the five unmarked routes. Thegraph_statusline is its own hunk, easy to drop on rebase.doc/api/openapi/openapi_v3.yaml:x-gitlab-lifecycleflipped toexperimentfor schema and tools. The other routes are hidden from the OpenAPI file.doc/api/orbit.mddoes not document schema or tools, so it is unchanged.data_spec.rb: the published routes check now expects context, schema and tools to be experimental and the rest Beta. A new example in the same block checks every hidden route is experimental.- Verified on Caproni with the full
data_spec.rb: 235 examples, 0 failures.
Edited by Dmitry Gruzd