Wheelhouse docs

Glossary#

Several of these words mean something narrower here than they do in general, and three pairs of them name two different things. Each entry links the page with the detail.

The configuration model#

agent — wheelhouse-agent, the Go program that fronts the router's API. → wheelhouse-agent

the base — the platform Wheelhouse is built on: VyOS, on Debian. → About Wheelhouse

the configuration tree — the router's own hierarchical configuration, the thing set and delete address; the config tree for short. The web UI page of that name edits any part of it. → Which page writes which subtree

a node — one element of that tree. A tag node is a node whose children are named by the operator (container name <x>, interfaces ethernet <x>). A value is what a leaf holds; every value in the tree is text.

stage — to add an operation to the working set without applying it. A staged operation is one item; the working set is the collection. → Endpoint index

the Commit Bar — the one component in the web UI that commits. Every editor stages into it; nothing else applies a change.

commit — to apply the working set to the router. commit-confirm is the router's native form: commit with a window, and if no confirmation arrives the router restarts and starts with its saved configuration. That restart is the rollback. → The commands Wheelhouse runs

a revision — one archived configuration. Revision 0 is the running configuration; revision 1 is the commit before it. roll back is the verb, a rollback the noun.

drift — what the router holds differs from what the desired-state file declares. → The desired-state file

the desired-state file — one document describing what the configuration should be, mirroring the configuration tree. Conventionally agent.yaml. It is not state.json, which is the agent's own store.

the reconcile loop — the timer that re-diffs that file and either stages or commits the difference. Off unless --reconcile-file is set.

Access#

the read plane / the write plane / the admin plane — the three groups of endpoints. Reads never need a licence; writes need the operator role and a licence; the admin plane needs the admin role and no licence. → Role matrix

a principal — whoever is making the current request: an account, an API token, or the break-glass token.

an API token — a credential the agent issues for automation, wh_…, with a role. Not an API key. → Authenticating

an API key — the credential the router issues, which the agent uses to reach it. Root-equivalent on that router. Two different things; keep the names apart. → What first boot does

the break-glass token — --admin-token, a single admin-role credential with no account behind it, for an operator locked out of the UI.

the audit log — the agent's attributed record of every mutation, in audit.jsonl. Distinct from the journal (the system log, at GET /api/log) and from the commit history (the router's own revisions). Three things, three places. → Audit entries

Networking#

an uplink — any interface that carries a default route. The platform has no gateway object, so "gateway" here means a next-hop address and nothing more.

a companion service — one of the router's own services whose configuration state the web UI reports: service upnp, service dns, service dhcp-server. The nav calls that page Companions; the page's own title is Daemons. The agent supervises no external process.

Apps#

an app — a container the router runs, configured as part of the configuration tree like everything else.

the catalogue — the embedded list of installable apps. The endpoint spells it /api/apps/catalog; the prose spells it catalogue. → Catalogue schema

a feature module — a catalogue entry with kind: "builtin". Not a container at all: it gates a native page in the web UI. Two exist. → The catalogue

a hint — an offer an installed app makes on another page, with the operations that would wire it in. Also called an integration offer. → Hint placeholders

Installing#

the installer — wheelhouse-install, the disk installer. The add-uplink and add-app flows in the web UI are wizards; this is the installer.

a seed — a small filesystem or a URL carrying the answers for an unattended install. → Where the installer looks for a seed

an answer file — KEY=VALUE lines the installer reads. A cloud-config seed is converted into one before the installer sees it. → Answer-file keys

the console — the physical or serial console with the banner and the login prompt, as distinct from the web UI.

the web UI — the browser interface the agent serves. The Overview is one page of it, not the whole thing.

Product and packaging#

Wheelhouse — the product. Wheelhouse OS is the bootable image specifically, and wheelhouse-agent is the binary.

a licence (noun), to license (verb), licensed / unlicensed. The file LICENSE, the flag --license-key-file and the JSON field licensed keep their own spelling. → Licence keys and states

the fleet — the routers named in --fleet-config. A licensed feature: health, configuration and version reads, a direct configure, and a per-router write plane — POST /api/fleet/{id}/stage, GET /api/fleet/{id}/staged, POST /api/fleet/{id}/commit, /stage/remove and /discard. Each router has its own queue on the agent, so work staged for one cannot ride out on a commit to another. A commit may arm that router's own commit-confirm, confirmed at POST /api/fleet/{id}/commit/confirm — the router the window was armed on, and no other.

a channel — stable or beta, each a JSON index at the download host. Nothing in the agent reads one. → Channel index format

the data directory — --data-dir, /config/wheelhouse on an appliance. Everything the agent persists. → Files and directories

/config — the partition the base keeps across an image upgrade, and where the agent's data lives.

Two spellings that are not typos#

In proseIn code
cataloguecatalog.json, /api/apps/catalog
licence (the noun)--license-key-file, "licensed", LICENSE
neighboursGET /api/neighbors
behaviour, colour, organisewhatever the identifier says

Identifiers, flags, file names and quoted output keep the spelling the product uses.

See also#

Updated 2026-09-18 glossary terminology