Join a node
Connect a node to Mojo Up AI Cloud, your organisation or your team's own hub, and get it approved.
A node does nothing until it has joined somewhere and a person has approved it. It can join one of three places:
- Mojo Up AI Cloud: your personal organisation or one of your teams.
- Your organisation's own platform (self-hosted AIOE, Enterprise).
- A team hub your team runs on its own network. Nothing goes through Mojo Up.
A node joins exactly one of these. Use the setup wizard (mojoup-node, or mojoup-node setup), which asks How does this node find your organisation?, or the join command shown here, which is the scripted form.
Join Mojo Up AI Cloud or your organisation
Ask to join
mojoup-node join --cloud --name gpu-box-1 --tags tag:gpu,tag:linux--name and --tags are optional: the name defaults to the machine's host name. In the wizard, choose Mojo Up.
The node prints a code and a page to open:
Code: ABCD-EFGH
Open: https://…Approve it in Mojo Up AI Cloud
Open the page, sign in to Mojo Up AI Cloud, and check which organisation the page names. The node joins the organisation that is active in the Cloud console when you approve it: your personal one, or one of your teams. To approve it into another organisation, switch to it at the top of the console's sidebar first, then approve.
You can approve a node into a team if you are one of its owners or administrators. Nodes waiting for approval also appear under Nodes → Pending in the console.
Once the node runs, an administrator decides who may use it, under Nodes in the console (Who may use it): a project, a group, a person or everyone, what they may do on it (run agents, call its models, read its memory and so on) and how many agents at once. A node is unused until it is assigned, and the node itself enforces the limits.
If the approver refuses, join exits with code 3 and nothing else happens.
Join with a join key
A join key lets automation start nodes without a code to approve: a fleet of build machines, or nodes in containers. An administrator makes one in the console under Nodes → Join keys → New join key, with a name, tags, how long it is valid (24 hours by default, at most 90 days), and whether it is Reusable or makes Ephemeral nodes. The key is shown once.
mojoup-node join --url https://aioe.company.com --token <join key>The node joins at once. The administrator who made the key is recorded as the approver of every node that uses it. Revoking the key sends its nodes back to pending, which takes them off the mesh and remote control until someone approves them again. An ephemeral node is removed once it stops checking in.
mojoup-node setup --token <join key> does the same from the wizard.
Join your team's own hub
A team that runs its own hub over Tailscale or a VPN invites nodes the same way it invites people. See Team hub for running the hub.
Get an invitation
On the hub, the owner chooses Invite someone… on Settings → Team, picks Joining with: Node, and sends you the invitation line. It starts mojoup-hub: and works once, for 15 minutes. On a node that is the hub, mojoup-node hub invite --name <person> --kind node prints one.
Join with it
mojoup-node join --hub 'mojoup-hub:…'The invitation carries the hub's address and its certificate's fingerprint, so the node checks it is talking to your hub before it sends anything.
Start it
mojoup-node runJoin by address instead
Without an invitation line, give the hub's address. The node shows the hub's certificate fingerprint; compare it with the one on the hub's Settings → Team page and answer y only if every group matches.
mojoup-node join --hub https://hub.example.ts.net:7431 --code K7QX-M2PDWithout --code, the node shows a code and asks the hub's owner to approve it: on the hub's Settings → Team page, the node appears as "… wants to join", with Approve and Deny. On a node that is the hub, mojoup-node hub devices lists who is waiting and mojoup-node hub approve <request> --as <name> approves.
When you have already checked the fingerprint, pass it with --fingerprint sha256:…, or accept it without asking with --yes.
Check where a node joined
mojoup-node statusstatus names the organisation or team hub the node is on, and mojoup-node doctor checks that the platform is reachable. Running join again on a node that has already joined says so and changes nothing.
Related
- Add a node, the whole path as a tutorial
- mojoup-node command line
- Troubleshooting nodes