System#
System → System is four tabs over one page: Overview, Settings, History and Audit. The four stat tiles and the two header buttons are present on all of them.
| Tab | What it is | Page |
|---|---|---|
| Overview | Version, hardware, power and boot images | this page |
| Settings | Identity, time, SSH, accounts, syslog, SNMP, tunables, tasks | Settings |
| History | Configuration revisions, diffs and restore | History |
| Audit | Who changed what, through this agent | Audit |
The tab lives in the page's own state, so a reload returns to Overview.
The header#
The subtitle is <host name> · <product> <version>. Beside the tab strip are two
buttons that are always available.
Download config#
Fetches GET /api/config/raw and saves it in the browser as
<hostname>-config.boot. It is admin-only — the endpoint is behind adminOnly —
because the file is unredacted and carries every secret in the configuration, including
the API key the agent authenticates to the router with.
The agent refuses to return an empty file: if the router answers with no configuration
text, the handler returns a 502 saying so, and the page shows the error rather than
saving a zero-byte "backup". An empty file that looks like a backup is worse than a
visible failure.
Save to boot config#
POST /api/config/save writes the running configuration to /config/config.boot on the
router, so it survives a reboot. It is an immediate action, it is audited as save, and
it needs the operator role and a licence.
The toast says exactly what happened: "Running config written to /config/config.boot."
The four tiles#
| Tile | Value |
|---|---|
| Uptime | The router's uptime, with the three load averages beneath. |
| Memory used | Used, of total. |
| Disk used | Used, on which filesystem, with a meter from the percentage the router printed. |
| Config revisions | How many revisions the history holds, described as rollback targets. |
All four come from GET /api/system, polled every 15 s on this page, except the
revision count which comes from GET /api/history.
Overview — Version#
The product's identity, in the product's own terms:
| Row | Source |
|---|---|
| Product | The product name and version. |
| Built on | The image's build date. |
| Architecture | The system architecture. |
| Boot via | How the running image was booted. |
| Host name | system host-name. |
| Base platform | The base's own version string, with its release train when the version does not already contain it. |
Below it, a fixed line of attribution: built on VyOS, free software under the GNU General Public License version 2, with full credits and the offer of corresponding source on the About page.
The panel deliberately does not dump every key from the router's show version. The
release train, the build flavour and the upstream build id are attribution, and they
belong under the credit on the About page rather than as the answer to "what am I
running" — ui/src/components/product.ts.
Overview — Hardware#
Vendor, model, CPU model, core count, current clock, total memory, the filesystem, and
disk used of total. All of it is parsed from show version, show hardware cpu,
show system memory and show system storage in one round trip —
agent/opmode.go, handleSystem.
handleSystem makes seven sequential reads. On a cold cache against a stalled router
that used to be seven times the read timeout — close to three minutes of a held
connection. Every read a browser makes now carries a 20-second total budget and is
cancelled when the tab goes away.
Overview — Power and Boot images#
The third panel on the Overview row is Power, and below the row is Boot images. Both are admin-only and both act immediately. They have their own pages:
- Power — reboot and power off, with the host name typed to confirm.
- Boot images — install a new image from a URL, choose the default, delete an old one.
Integration offers#
If Prometheus is installed from the catalogue, a card appears under the header: "Scrape Wheelhouse itself". It carries no operations — how you point a scraper at the agent is a decision about your monitoring, not a command that can be pre-written. See integration offers and Telemetry.
See also#
- System — settings — everything configurable about the box itself.
- System — history — the revisions the fourth tile counts.
- System — audit — who did what through the agent.
- Backup and restore — what Download config does not include.
- Dashboard — the same identity, abbreviated.
Checked against ui/src/pages/System.tsx,
ui/src/components/product.ts,
agent/opmode.go, agent/main.go,
agent/vyos.go, docs/backup-restore.md.