jumpgate
  1. Docs
  2. Upgrading
  3. Moving off the legacy names

Moving off the legacy names

Upgrade every controller, then migrate old boxes.

How you got here: Desktop app What a box needs 1. Create the controller key 2. Pair a box One server for everything How a job behaves Who drives Commands node.migrate-names The controller The agent on a box

Show previous steps 11
Install 1
  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
    The app panel's Home tab: the gateway running two networks.
    Illustration from the jumpgate.app demo, with made-up boxes; not a screenshot of the app.
Getting started 4
  1. 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.

  2. 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 Signers screen: this controller's address and key store, and the boxes it signs for.
    The TUI, from its test snapshot; empty rows removed.
  3. 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
    Adding a box: the TUI shows the host key's fingerprint and asks you to type yes.
    The TUI, from its test snapshot; empty rows removed.
  4. One server for everything

    The app, TUI and CLI share one background server.

    Whichever starts first runs the server; quitting the TUI leaves it running and jumpgate stop ends it.

Durable jobs 4
  1. 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 jobs inbox: a job on box-a waits for an answer at step 2 of 3.
    The TUI, from its test snapshot; empty rows removed.
  2. 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.

  3. 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.

  4. node.migrate-names

    Move an old install from valve-node-app to jumpgate-node.

    jumpgate migrate-names HOST --yes renames the account, units and data root, and asks only where it cannot choose safely.

Upgrading 2
  1. The controller

    Replace the app, then restart the old server.

    Commands warn when the running server is another version; jumpgate stop replaces it, and the TUI offers R.

  2. The agent on a box

    Upgrade a box's agent by pairing it again.

    jumpgate hosts add on an existing name re-pairs the address on record; a different address is refused.

New setups use the jumpgate-node account from the start. Older boxes still on valve-node-app move with the node.migrate-names job.