- Docs
- Durable jobs
- node.migrate-names
node.migrate-names
Move an old install from valve-node-app to jumpgate-node.
How you got here: Desktop app What a box needs 1. Create the controller key 2. Pair a box How a job behaves Who drives Commands
Show previous steps 7
Install 1
- Desktop app
Download the desktop app for your OS and open it.
The macOS zip holds Jumpgate.app and Jumpgate Terminal.app; Windows has jumpgate-tray.exe and jumpgate.exe; Linux has install.sh. Every download carries both Linux agents.
Show image

Illustration from the jumpgate.app demo, with made-up boxes; not a screenshot of the app.
Getting started 3
- What a box needs
A Debian or Ubuntu box with systemd, reachable as root over SSH.
Setup needs root (or passwordless sudo with --sudo) and checks Linux, systemd and disk first. The node itself runs as an unprivileged account.
- 1. Create the controller key
Create the key that signs every command to your boxes.
jumpgate keys init stores it in the Keychain, Credential Manager, Secret Service, 1Password or an owner-only file. It never leaves your computer.
Show image
The TUI, from its test snapshot; empty rows removed. - 2. Pair a box
Install the agent on a box and confirm its host key.
You confirmed the box's fingerprint, and jumpgate installed jumpgate-agent.service and a restricted tunnel user. The box now takes only signed commands.
Show image
The TUI, from its test snapshot; empty rows removed.
Durable jobs 3
- How a job behaves
A job runs fixed steps on the box and asks when it must.
Each step runs as a transient systemd unit, so a running step outlives the TUI; the agent keeps a signed log, and the box refuses service actions until the job ends.
Show image
The TUI, from its test snapshot; empty rows removed. - Who drives
One controller holds a job's lease; the others watch.
A lease silent for 90 seconds is stale, and adopting it is your decision.
- Commands
List, show, decide and adopt jobs from the CLI.
jumpgate jobs lists them; jobs decide answers a question and jobs adopt takes over a stale lease. In the TUI, press 5.
Older installs run the node as the valve-node-app account. jumpgate migrate-names HOST --yes starts a job that moves it to jumpgate-node:
- it stops the node services, then renames the account and its group, rewrites the units, and moves the data root to
/var/lib/jumpgate-node(a custom data directory stays where it is, and a data root that is or holds a mount point makes it ask); - it keeps each unit enabled or disabled as it was, and starts again the ones that were running;
- it re-owns the data only where the new account does not already own it, and verifies the result at the end.
--yes is your consent to the renames; after that it asks only where it cannot choose safely. If processes of the old account are still running, it asks to stop them with SIGTERM, and asks again before any SIGKILL.