Glossary#
Several of these words mean something narrower here than they do in general, and three pairs of them are routinely confused with each other. Each entry says which page has the detail.
The configuration model#
agent — wheelhouse-agent, the Go program that fronts the router's API. Not "the
daemon", "the backend" or "the controller". → wheelhouse-agent
the base — the platform Wheelhouse is built on: VyOS, on Debian. Named as VyOS on first mention on any page that describes the platform. Never "our VyOS". → About Wheelhouse
the configuration tree — the router's own hierarchical configuration, the thing set
and delete address. "The config tree" after first use. 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. Not "queue", "pending changes" or "draft". → Endpoint index
the Commit Bar — the one component in the web UI that commits. Capital C, capital B. Every editor stages into it; nothing else applies a change.
commit — to apply the working set to the router. Not "apply", "save", "push" or "deploy". commit-confirm is the router's native form: commit with a window, and if no confirmation arrives the router reboots into the previous configuration. That reboot 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 — specifically: what the router holds differs from what the desired-state file declares. Not "out of sync". → 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 — never call the desired-state file "the state file".
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. Not "the admin token".
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. Not "plugin", "package" or "add-on".
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. Not "an answer disk", "a kickstart" or "a preseed". → 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. Not "the terminal" or "the shell", and not the web UI.
the web UI — the browser interface the agent serves. The Dashboard is one page of it, not the whole thing.
Product and packaging#
Wheelhouse — the product. Wheelhouse OS only when specifically meaning the
bootable image. wheelhouse-agent in code font when meaning 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
spelling; identifiers are never respelled. →
Licence keys and states
the fleet — the routers named in --fleet-config. Not "the cluster". A licensed
feature, and a narrow one: health, configuration and version reads, plus a direct
configure. Per-router staging and commit are not routed.
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. The only reason the
agent's data lives there.
Two spellings that are not typos#
| In prose | In code |
|---|---|
| catalogue | catalog.json, /api/apps/catalog |
| licence (the noun) | --license-key-file, "licensed", LICENSE |
| neighbours | GET /api/neighbors |
| behaviour, colour, organise | whatever the identifier says |
British English in the words we wrote; identifiers, flags, file names and quoted output keep their original spelling.
See also#
- Reference — the section this glossary indexes.
- About Wheelhouse — the attribution, and where the licence boundary sits.
- Page template and Markdown reference — the conventions these pages follow.
- Concepts — the ideas these words name.
Checked against#
agent/main.go,
agent/auth.go,
agent/store.go,
agent/catalog.go,
agent/license.go,
agent/desired.go,
ui/src/components/nav.ts,
docs/ui.md,
docs/deploy.md,
PLAN.md.