ProxyJump Canvas
A drag-and-drop topology view for your SSH fleet. Draw a line between two hosts and Schooner writes the ProxyJump directive into ~/.ssh/config automatically.
Opening the canvas
Click the β΅ menubar icon β Open Canvas, or use the toolbar in the main host list window. Every host in your database appears as a card.
Auto-layout
When you first open the canvas (or click Re-layout), Schooner runs a force-directed layout algorithm. Hosts that share a ProxyJump relationship are pulled together by a spring force; unrelated hosts repel each other. The result: jump-bastion clusters emerge naturally.
Pinning nodes
Drag any node to move it. Once moved, the node is pinned β a small π indicator appears in its top-right corner. Pinned nodes are never touched by the auto-layout algorithm again.
Click the π icon to unpin a node and allow the layout to reposition it. Click Re-layout in the toolbar to unpin all nodes and run a fresh layout.
Creating a ProxyJump relationship
- Hover over the source host node until the connection handle appears on its edge.
- Drag from the handle to the target (bastion/jump) host.
- Release. Schooner adds
ProxyJump <bastion-alias>to the source host's SSH config entry.
Multi-hop chains are supported: A β B β C produces ProxyJump B,C in the SSH config.
Tip: ProxyJump edges are derived directly from ~/.ssh/config. If you edit the config file manually, the canvas updates automatically the next time you open it.
Deleting edges and nodes
There are three distinct delete actions β each with a clear, limited scope:
- Delete a ProxyJump edge β select the edge (click the line) and press Delete, or hover the line and click the Γ. This only removes the
ProxyJumpdirective; the host itself is untouched. - Remove from canvas β right-click a node β Remove from canvas. The host remains in your SSH config and TUI picker; it just won't be shown on the canvas.
- Delete host permanently β right-click β Delete hostβ¦, then confirm. This removes the
Hostblock from~/.ssh/configand all Schooner metadata.
Node colours
Node colour is determined automatically by tag. Hosts sharing the same tag get the same pastel colour, giving you a second visual dimension alongside topology. Hosts with no tag are shown in neutral grey.
Hosts with danger tags (prod, production by default) display a red border regardless of their tag colour.
Canvas navigation
- Zoom: Pinch on trackpad Β· β+ / ββ Β· β0 to reset
- Pan: Two-finger drag on trackpad Β· Hold Space and drag with mouse