Add a machine

Join a second computer; resources spread across both.

Join a computer

  1. Add it on the main machine

    This prints a join command with a one-time code, valid for an hour. Labels are optional.

    Terminal
    ./build/enclave machine add rack-1 --label disk=ssd
  2. Run the join command on the other computer

    It needs Docker running and the enclave program. It joins over mutual TLS and shows online in Machines.

    Terminal
    enclave agent join http://<main machine>:7070 --code <code>

The machines must reach each other on the agent port (7071/tcp) and the tunnel (51820/udp).

Using several machines

  • New resources go to the machine with the most free memory, to one you name (--machine rack-1), or to one with the labels you ask for (--machine-label disk=ssd).
  • Private networks span the machines, so an app on one reaches a database on another by name.
  • When a machine goes offline, its apps restart elsewhere after a minute; data waits for its machine.
  • Move anything, data included: enclave move database/orders --to main. Drain a machine before you unplug it.

Something unclear or out of date? Tell us in the community, or improve these docs on GitHub.