Skip to content

Web dashboard

The dashboard is one client of the server, like the TUI and the CLI. Everything below acts through the same API, so a change made here shows up in the other two without a refresh.

The Kaio dashboard: a Compose stack is deployed from the browser and joins the list, a stack is expanded over its containers, a metric chart is read point by point, the stack menu is opened on its actions, the page scrolls to the system events, then the Manage menu opens the cluster nodes.
A stack deployed from the browser, a stack expanded over its containers, a metric read point by point, the stack menu, the event log, then the cluster nodes.
Control What it does
+ STACK Opens the deploy dialog: a name, the Compose file in the editor, and its variables
@ <server> ▼ Which server the whole page drives. Absent until a node has joined
MANAGE ▼ The management panels: Containers, Images, Networks, Volumes, Nodes, System

@ this server is the default. Picking a node re-points every panel of the page at it, through the control plane’s gateway, so the tables, the logs and the terminal all describe that machine. A node that is not online colours the button red, and Manage nodes… at the bottom of the list opens the same panel as Manage → Nodes.

The address bar follows, at /node/<name>, so the view of one server is a link you can share or bookmark. The selection also survives a reload on its own: a bare / reopens the last server you drove, and its path is restored in the address bar.

Six counters, then three charts over a 12-hour window:

Tile Counts
Containers Running over total
Running, Exited, Paused Containers in that state
Unhealthy Containers whose healthcheck fails
Vulns <n>C / <n>H Critical and high CVEs summed over in-use images

The charts are Global CPU Usage, Global RAM Usage and Global Network I/O (RX / TX). Hovering one reads a single point rather than a tooltip average.

One row per stack, with its containers underneath once expanded.

Column Holds
NAME [+] / [-], the stack name, a status dot, its vulnerability badge, and ENV PENDING when variables are saved but not applied
STATUS The aggregated state: RUNNING, PARTIAL, PAUSED or EXITED
CPU, RAM, NET (RX/TX) Summed across the stack’s containers
ACTIONS The stack menu

A stack with no containers is listed all the same, as [NOT STARTED] with (0 processes). A copy that was written but not brought up would otherwise be invisible here while the CLI and the TUI both listed it.

Clicking anywhere on the row expands it. Containers that belong to no Compose project are grouped under Standalone Containers.

The button reads ⋮ STACK, and turns green and pulses to ★ STACK when an image update is waiting.

Entry Shown when Documented in
▶ Start Something in the stack is stopped or paused Managing stacks
⏸ Pause Something in the stack is running Managing stacks
⟲ Restart Always Managing stacks
✎ Edit Always. Opens the compose file and the variables together Environment variables
✓ Apply changes Variables are saved but not deployed Environment variables
≡ Versions Always. Preview a version, then roll back or delete it Versions & rollback
? Check Updates Always. Asks the registry, pulls nothing Image updates
↻ Update Always. Pulls and recreates Image updates
⧉ Copy to... Always. Pick a destination, a name, and whether the volume data comes along. The ports and the variables are editable in place, and a port already taken on the destination blocks the copy until it moves The API route
▤ Logs Always. Every container of the stack, merged by service Logs & terminal
⚠ Scan Always. Trivy over every image of the stack Vulnerability scanning
✕ Delete Always. Removes the containers and the stack directory Managing stacks

A menu that would open past the bottom of the window flips above its button and caps its own height, so no entry ends up unreachable.

Each container carries its own [..] menu:

Entry Opens
[L] Logs That container’s stream alone
[S] Shell An interactive sh inside it
Panel What it offers
Containers Every container, selectable. Start, Stop and Delete Selected act in bulk
Images Every image, its vulnerability badges, Scan All, Prune, and a per-image report
Networks List and delete
Volumes List and delete
Nodes The cluster registry: NAME, STATUS, URL, VERSION, SHA, LAST SEEN, plus + Add a server, Check All, and a per-node probe or removal
System Prune Containers, Prune Images, Prune Networks, Prune Volumes, each reporting what it reclaimed

The panel under the stack list is the event history, newest first, with the level of each entry. It is fed by the same SSE stream as the rest of the page, so an event appears as it happens. Retention is set by KAIO_EVENTS_RETENTION_DAYS; see Data retention.

Every dialog closes on Escape, on a click outside it, or on Close [X]. Monaco and the terminal are loaded only when a dialog needs them, which is why the first Edit or Shell of a session takes a moment longer.

The interface follows the operating system’s prefers-reduced-motion setting: with it on, the pulsing update indicator and the status dots stop animating.

  • TUI shortcuts, the same actions as single keys
  • CLI, the same actions as commands
  • HTTP API, what all three of them call

Kaio, built by Régis Gaidot