A form for every setting, the commands on request#
Until 0.9.0 this page said that every click showed its commands. Since 0.9.1 every page is a form instead, every pending change reads as a sentence, and the commands are one switch away for anyone who wants them. The configuration model underneath has not changed; you no longer have to read it to use it.
Every setting is a form#
Each page edits what it lists: the rule, the reservation, the peer, the network, the setting. A value is checked where it is typed, and the reason is given under the field in plain terms — Enter an IPv4 address, such as 192.0.2.10. — before anything is saved. The save button stays unavailable while anything is wrong, so a value the router would refuse is caught on the page instead of coming back from the router as a refused commit.
Nothing on a page reaches the router. Save, Add and Delete add to the pending changes, and the Commit Bar applies them. No page hands a change to the console either: the last one that did, one-to-one NAT, has been a pair of rules the agent plans since 0.9.1.
Every change is a sentence#
The Commit Bar lists what is pending one object at a time, verb first, in the words the page uses, grouped by the area it belongs to:
Interfaces
+ Add VLAN 20 on eth1
Address 10.0.20.1/24, description “IoT”
System
~ Change the host name to edge-1+ is an addition, ~ a change and − a removal, and each line has a Remove that takes
that whole object back out of the pending changes. The sentences are written from the
operations the router will be sent, so they describe what will run rather than what the
form hoped for. A password, a pre-shared key or a private key is said to have been set or
changed, and is never shown, whatever the reader's role.
The model has not changed
Every change is still a list of set and delete operations, applied as one transaction.
What changed in 0.9.1 is that you read it as sentences, and the operations are there when you ask for them.
The commands, one switch away#
Advanced mode is a preference of each account, off by default, under Account → Preferences. It is kept with the account, so it follows you from one browser to the next, and it changes what is shown, not what anyone may do. With it on, the router's own language appears beside the words:
| Where | With Advanced mode, also |
|---|---|
| Page headers | The part of the configuration tree the page edits |
| Editors | A preview of the commands the change adds |
| Empty pages | The commands that would add what is missing |
| The Commit Bar | Each operation, + or −, with × to remove it, and a Commands block holding the whole set |
| A change the router refused | The router's whole message |
| System → History | The router's own diff of each revision |
| The navigation | Configuration tree and Reconcile, under System |
Where the agent cannot act for you — creating an app's folders or running a capture when it is not on the router — the page says so in words, and Advanced mode adds the command to run by hand.
What you read is what runs#
The commands Advanced mode shows are the list the agent sends to /configure, spelled the
way the CLI spells it. A value containing a space is one argument only once it is quoted, so
the browser and the agent quote identically: the preview, the pending list and the commit
are the same text, and a block copied out of the Commit Bar pastes into a configure
session and does the same thing.
System → Configuration tree browses the running configuration, searches it, and shows
any part of it as the set lines that recreate it. It is read only.
Read on#
- The configuration model — pending changes, auto-revert and revisions.
- The wiki: Advanced mode and the router's commands, the Commit Bar and the configuration tree.
Make a change, then read it back
Fill in a form and read the sentence in the Commit Bar. Turn on Advanced mode and read the commands behind it.