Managing resources

Per-view actions: start and stop workstations, edit and copy and delete, toggle bindings and shares, and create with the wizard.

Every tab shares the same navigation, but each has its own actions on the selected row. The footer always shows the ones available where you are; this page is the reference for what each does. The actions that change state are declarative: they edit desired state and let the control loop apply it, the same as the equivalent rl command would.

Workstations

The Workstations tab carries the full lifecycle plus the two ways in.

KeyActionNotes
SStartSets the workstation’s desired state to running.
sStopHalts the workstation without losing its disk or installed tools.
rRestartBumps a restart nonce the control loop applies.
EnterSSHOpens an interactive shell on the workstation, the same as rl shell.
tTmuxAttaches a persistent tmux session that survives a dropped connection.
VViewOpens the read-only describe view, from which c shows the workstation’s resolved configuration.
DDescribeThe same view as V.
TTroubleshootRuns live diagnostics against the workstation (see Inspecting).
xRelatedShows the configs, bindings, and SSH keys tied to this workstation.
eEditOpens the object in your $EDITOR as YAML.
cCopyClones the object into a new one you can rename.
dDeleteRemoves the object.

S, s, and r do not call an imperative verb. They patch the workstation’s desired state (spec.stopped, a restart nonce) and let the control loop apply it, so what you do in the TUI matches what a manifest would express. Each is confirmed with a modal before it fires, so a mistyped key never stops the wrong workstation.

Tip

Enter and t shell out to the real rl shell and rl tmux, so they behave identically to running those commands, including automatic reconnect on tmux.

Configs

WorkstationConfigs are read-open to the namespace, so the view is view-and-manage with no lifecycle:

KeyAction
Enter / VView the config (its fields and relations).
eEdit as YAML.
cCopy into a new config.
dDelete.

Bindings

LocalBindings add an enable toggle and a retarget action:

KeyActionNotes
aEnable / DisableToggles the binding on or off immediately, no confirm.
tTargetRetargets the binding at a different workstation (the binding switch semantics).
EnterViewThe binding show equivalent.
e / c / dEdit / Copy / DeleteAs elsewhere.

SSH Keys

SSHKeys forward a local key into the workstations their selector matches:

KeyActionNotes
aEnable / DisableToggles forwarding on or off immediately, no confirm.
DDescribeRead-only describe view.
EnterViewSame as describe.
e / c / dEdit / Copy / DeleteAs elsewhere.

Grants

Grants are the shares you have created. They are authored with the share CLI, so this view is list, toggle, and inspect rather than create:

KeyActionNotes
aEnable / DisableTurns the share on or off. Reversible both ways; the backend drops or restores the shared access accordingly.
DDescribeRead-only describe view.
EnterViewSame as describe.
e / c / dEdit / Copy / DeleteAs elsewhere.

Creating with the wizard

Press + on the Workstations, Configs, Bindings, or SSH Keys tab to open a create wizard for that kind. The wizard is the one kind-aware part of an otherwise kind-generic UI: it collects the common, high-signal fields (a name, a provider, a config to reference, and so on) and assembles a valid object.

  • Text fields edit in place; use / to move the caret.
  • Enum fields either cycle through their options or, for larger option sets, open a pop-up list to choose from.
  • If you need a field the wizard does not surface, hand the draft off to your editor and finish it as YAML.

There is no wizard on the Grants tab (create a share with the share CLI instead) or on the transient Related view (it is read-only).

Note

e (Edit) and c (Copy) work on every kind because they operate on the raw object, so the TUI is never a subset of what you can express in YAML. Anything the wizard does not cover, e will.