Web Console
raptor ships an optional web console — a Dioxus WASM single-page app — embedded directly in the binary.
Enabling it
The console is behind the embed-ui Cargo feature. The Debian package and the
release binaries are built with it on; if you build from source, include the
feature (see Installation):
$ dx build --release --package raptor-ui
$ cargo build --release --features embed-ui
Without the feature the server runs identically but does not serve the UI routes.
Accessing it
Browse to /ui:
http://localhost:8088/ui
Log in with the same admin credentials as the Management API. The console
authenticates via POST /rest/v1/login and holds a session cookie, so you don’t
re-enter credentials on every request.
What it covers
The console surfaces the core read/observe workflow and common actions:
- a dashboard (fleet counters, the actions feed, active rollouts, and the server’s configuration),
- targets and target detail,
- target filters and auto-assignment,
- tags — create and edit target and distribution-set tags, tag an entity from its detail page, and filter the target and distribution lists by tag,
- distribution sets and detail,
- software modules and detail,
- rollouts and rollout detail,
- the actions feed.
Dashboard
The counter tiles — targets, in sync, pending, error, running actions — come
from GET /rest/v1/system/statistics, so the server counts the whole fleet and
the numbers stay correct however large it grows. The active-rollout and
recent-action lists below them are feeds rather than counts and read the
ordinary list endpoints. Everything refreshes on the console’s 5s polling.
The System configuration card at the foot of the dashboard shows the tenant
configuration devices see (GET /rest/v1/system/configs): the polling interval,
whether the confirmation flow is on, and which authentication modes are enabled.
It is read-only — raptor takes its configuration from raptor.toml, and the API
answers writes to these keys with 403. See
Configuration to change any of them.
Rollouts
The rollouts list shows each rollout’s status and a progress bar of its targets; the detail page adds the deploy groups, each with its own bar and a legend of targets per status (finished / running / error / cancelled / scheduled / not started), refreshed by the same 5s polling as the rest of the console.
Lifecycle buttons — Start, Pause, Resume, Delete — appear for the transitions the rollout’s current status allows, so an operator can drive a rollout end to end without touching the API. Creating a rollout is still API-only; see the Rollouts guide.
Note: The console tracks the API and lags it slightly. A page for the confirmation flow is planned (tracked as an issue on GitHub). Anything not yet in the UI is always available through the Management API.