dashboard (overview + applications, AI-agent first)
Shared front door: load
../olares-shared/SKILL.mdfor suite routing, active-profile selection, platform entry points, and the auth proceed/stop gate. Load its auth reference only when login, profile switching, token storage, or auth recovery is actually needed.
Use olares-cli dashboard <verb> --help for syntax.
When to use
- Read CPU, memory, disk, network, pod, fan, or GPU metrics.
- Rank applications/workloads by resource use.
- Observe dashboard metrics over time or consume their stable JSON envelopes.
Mental model: dashboard answers "what's the resource usage and health". For inventory and lifecycle, route elsewhere. When the metrics reveal a problem (resource pressure, an app that's
runningbut slow/unreachable), hand off to../olares-doctor/SKILL.mdfor root-cause diagnosis.
Verb index
| Verb | Purpose | Read when triggered |
|---|---|---|
applications (apps) |
Workload-grain resource table | dashboard applications --help |
overview |
Physical, user, and ranking sections | overview section meanings; envelope and empty states |
| `overview cpu | memory | disk |
schema |
Served JSON schemas | dashboard schema --help |
| any metric with watch/window intent | Repeated snapshots / historical window | watch, windows, NDJSON |
Envelope and capability semantics
- Pin automation to
kind,raw, andmeta.empty_reason, not table labels. - No hardware, no integration, or a capability gate is usually an
exit 0empty envelope, not a command failure. - Aggregate verbs (
overview,overview disk|fan|gpu) exit non-zero only when every section carriesmeta.error; a partly degraded envelope is stillexit 0real data. The envelope reaches stdout either way, so read the per-section error rather than treating the exit code as the whole story. - A whole-instance outage surfaces as
HTTP 530on every section — the Olares is unreachable, so confirm it is online before diagnosing dashboard itself. - Fan is meaningful only on Olares One. Stop probing after the device gate says it is unavailable.
- A hidden GPU sidebar for a non-admin profile is advisory if data is still returned.
vgpu_unavailableis transient evidence, not proof that the device has no GPU.
Watch and diagnosis
- Watch emits repeated snapshots; JSON mode is NDJSON. Ctrl-C ends observation, not any workload.
- A watch aborts after repeated iteration failures. Separate transient metric collection failure from actual resource pressure.
- Choose either a relative or absolute time window based on the user's question; do not combine them.
- Dashboard locates pressure; it does not explain pod scheduling, crashes, image pulls, or entrance failures. Route those to
olares-doctor.
Safety and escalation
- Dashboard is read-only, but cross-user metrics require platform-admin authority. Do not switch profiles or broaden the target user without approval.
- Do not report an empty integration envelope as "healthy" or "zero usage"; preserve its empty reason.
- Stop and escalate persistent upstream metric errors after a bounded retry, including the affected section and time window.