Store-RS Admin HTTP API#
This reference documents HTTP endpoints served by the standalone mooncake-store-rs-admin server. Operator workflows and CLI examples are in the route migration guide and Store-RS operations.
Route Migration API#
HTTP endpoints#
The long-lived mooncake-store-rs-admin server exposes:
POST /v1/route-migrations/copyPOST /v1/route-migrations/moveGET /v1/route-migrationsGET /v1/route-migrations/<task_id>
Implementation entry points:
Request fields#
The current request surface uses these key fields:
authorityroute authority stable id
tenantrequired
domainoptional, defaults to the default domain
object_setoptional, defaults to the default object set
keylogical object key
source_segmentsegment that currently hosts the source replica
target_segmentsexplicit target segment list
task_executorstable id of the runtime that executes the task
max_retriesadmin-side retry budget override; default is
5
Constraints:
copyrequires at least one targetmovecurrently requires exactly one targettask_executormust not be emptythe admin queue is not persisted; queued tasks are lost if the admin server restarts
Retry and completion#
Retry is owned by the admin server, not by the CLI.
Current semantics:
while admin is alive, it automatically retries executor loss and transient RPC failures
the default retry budget is
5if executor status is lost but the authoritative route already shows the task is complete, admin marks the task as
succeededif the admin process restarts, the in-memory queue is lost; the durable truth remains the route
Task states currently exposed to callers:
pendingdispatchingrunningretry_waitsucceededfailed
Reserved but not currently exposed in P1:
cancelled
Cold-Tier Device Administration#
The Admin HTTP API uses /v1/cold-tier as its base path. It manages Mooncake cold tier devices, not operating-system block devices or mounts. Operating-system provisioning remains the responsibility of deployment tooling.
Device identity fields:
Field |
Meaning |
|---|---|
|
Mooncake-managed logical device identity used by routes and placement |
|
Human-readable cold tier alias, for example |
|
Storage runtime stable identity |
|
Current live runtime incarnation for fencing |
|
Cold tier kind, for example |
|
Runtime-resolved target spec such as a directory or filesystem UUID |
|
Resolved cold root directory |
|
Device lifecycle state |
|
Whether the device accepts new offload placement |
Implemented device operations include create, list, get, register, unregister, disable, enable, drain, blockers query, manual GC, manual free, object cold backing query, pending offload trigger, offload task status/listing, and quarantine reporting.
register and unregister are Mooncake registry operations. unregister without force must not strand cold-only objects on the removed device. Safe forced unregister is allowed only when materialized objects still have hot replicas and can be marked PendingDelete.