Wheelhouse documentation#
Wheelhouse is a router operating system: VyOS underneath, a Go control-plane agent and a React web UI on top, shipped as a bootable image. Every editor in the web UI adds its change to one list of pending changes, and the Commit Bar at the bottom of every page applies that list through VyOS' own transaction, with auto-revert available every time.
Nothing in the pending changes has reached the router until it is applied. The bar says how many changes are pending, names the most recent one, and lists them all as sentences on request — see the Commit Bar. Advanced mode shows the router's own commands behind each change.
What you came to do#
| Put it on a machine | Getting started — download, verify, write the medium, boot, answer the installer, sign in. |
| Understand the model first | How Wheelhouse works — the configuration tree, pending changes, one applied change, revisions, and live state beside configured intent. |
| Work out what a screen does | The manual — every screen in the web UI, panel by panel. |
| Get one job done | Task guides — one job per page, start to finish, with a check at the end. |
Reference holds the exact values: flags, files, ports, endpoints, metrics, exit codes and licence fields. Development is for building or changing Wheelhouse. About covers the licence boundary, the corresponding source, privacy, and what is and is not finished.
The shape of the product#
| Base | VyOS, self-built from vyos-build, on Debian |
| Control plane | wheelhouse-agent, a single Go binary run by systemd as root |
| Web UI | A React single-page application, installed at /usr/share/wheelhouse/ui and served by the agent |
| Management address | https://<router>:8443 |
| Persistent state | /config/wheelhouse/ — VyOS' persistent partition, so it survives an image upgrade |
| Current version | 0.5.1 |
Known limits#
- The manual covers 28 of the 29 screens. Certificates has no page yet; the manual's index says so where you would go looking for it.
- There is no hardware compatibility list. What you need states what has been run and what has not.
- There is no published support address, security contact, price or terms of service. The About pages say so where the gap falls.
- There is no generated API client.
GET /api/openapi.jsondescribes every route, but the TypeScript client is written by hand against it.
What is finished, and what is not is kept current.
Elsewhere#
The product's own claims are at wheelhouse.rhymelikedi.me, images at releases.rhymelikedi.me, and the source at git.rhymelikedi.me.