Mesh auf das Maximum. Mesh to the Max.

UnitedShare

reemax CLI und die Oxide Console. Ein Login, zwei Ebenen: Mesh zwischen Standorten, Control Plane auf dem Rack. reemax CLI and the Oxide console. One login, two planes: mesh between sites, control plane on the rack.

EntdeckenExplore
↓

Operator docs

Zwei Ebenen, ein Login Two planes, one login

reemax mischt nicht Mesh und Rack. reemax login holt das Authentik-JWT. Danach gehen Mesh-Verben auf WireGuard, Control-Plane-Verben auf Nexus. reemax does not mix mesh and rack. reemax login fetches the Authentik JWT. Mesh verbs then talk WireGuard; control-plane verbs talk Nexus.

Dataplane · mesh

reemax CLI

  • Split-Tunnel WireGuard gegen vpn.unitedshare.app:51820Split-tunnel WireGuard to vpn.unitedshare.app:51820
  • Client net 10.73.0.0/24
  • MagicDNS *.mesh.unitedshare.ai via 10.73.0.1
  • Modelle: reemax list / run / serveModels: reemax list / run / serve
  • Coding-Agent: reemax install dann reemax codeCoding agent: reemax install then reemax code

Control plane · Oxide Nexus

console.unitedshare.io

  • Dieselbe API wie reemax instance listSame API as reemax instance list
  • Silo, Project, Instance, Disk, VPC, Image, SSH-Key, Serial ConsoleSilo, project, instance, disk, VPC, image, SSH key, serial console
  • Default-Project in der CLI: nanosCLI default project: nanos
  • Host-Override: --host / UNITEDSHARE_HOSTHost override: --host / UNITEDSHARE_HOST
  • docs.oxide.computer/guides/operator/web-console

Wie sich CLI und Console ergänzen How CLI and console complement each other

Laptop / jump host reemax up · 10.73.0.24 wg-mesh hub 10.73.0.1 · UDP 51820 MagicDNS · split-tunnel GPU site gx10-4914 · 10.73.0.40 Oxide console https://console.unitedshare.io reemax instance … Nexus /v1 · project nanos

Oben: Datenpfad zwischen Standorten (WireGuard, nie Full-Tunnel als Default). Unten: Control Plane. Console und CLI schreiben dieselben Instanzen. Die Instanz wird erst Teil des Mesh, wenn sie ein IT-Profil importiert und reemax up fährt. Top: data path between sites (WireGuard, never full-tunnel by default). Bottom: control plane. Console and CLI mutate the same instances. An instance joins the mesh only after it imports an IT profile and runs reemax up.

Quick Start

Für jemanden, der das Mesh nicht selbst erfindet. Die IT stellt das WireGuard-Profil aus. Der Installer ist öffentlich; /download bleibt hinter Authentik. For someone who does not invent the mesh. IT issues the WireGuard profile. The installer is public; /download stays behind Authentik.

1 · BinaryBinary

curl -fsSL https://unitedshare.ai/install.sh | sh

2 · Identität + TunnelIdentity + tunnel

reemax login
reemax login ~/Downloads/unitedshare-vpn.conf
reemax up
reemax status --json

3 · Modell im MeshModel on the mesh

reemax list
reemax run qwen3:8b "ping in one sentence"

4 · Dieselbe Identität auf dem RackSame identity on the rack

reemax instance list --project nanos
reemax current-user view --json

Erwarteter Status: "state":"connected", Adresse in 10.73.0.0/24. Gateway-Peer nur vpn.unitedshare.app:51820. Expected status: "state":"connected", address in 10.73.0.0/24. Gateway peer only vpn.unitedshare.app:51820.

InstallationInstallation

POSIX

macOS, Linux

curl -fsSL https://unitedshare.ai/install.sh | sh
# beta / dev:
curl -fsSL https://unitedshare.ai/install.sh | sh -s -- --beta

Windows

PowerShell

irm https://unitedshare.ai/install.ps1 | iex

Datacenter host

wireguard-tools, dann Profil wireguard-tools, then profile

apt install wireguard
# or: brew install wireguard-tools wireguard-go
reemax login /etc/unitedshare/node.conf
reemax up

Was die IT ausgibt, was nicht What IT issues, what it does not

JaYes

  • Persönliche .conf mit genau diesem Gateway-PubkeyPersonal .conf with exactly this gateway public key
  • Gateway uyLAS7TgjmBEoz0Ak+ozsXc54FM8kY1fa6HxeFUTeWE=
  • AllowedIPs 10.73.0.0/24, 100.64.0.0/10, 10.100.1.0/24
  • Authentik-Login für JWT und ConsoleAuthentik login for JWT and console

NeinNo

  • Eigenes WireGuard-Netz erfindenInventing a private WireGuard net
  • Port 41641 / Headscale-Noise als Mitarbeiter-DataplanePort 41641 / Headscale Noise as the employee dataplane
  • 0.0.0.0/0 im Import (Exit-Node ist optional per Flag)in the import (exit-node is an optional flag)
  • Fremde Peers in der ConfForeign peers in the conf

Mehrere Standorte Multiple sites

Oxide bleibt am Rack. Das Mesh ist die Overlay-Schicht zwischen Racks, Büros und Laptops. Eine Instanz in der Console ist noch kein Mesh-Peer. Oxide stays on the rack. The mesh is the overlay between racks, offices, and laptops. An instance in the console is not yet a mesh peer.

  1. Step 1 · console / CLI

    Instanz am Standort B anlegen Create the instance at site B

    In der Web-UI: Project nanos öffnen, Instance create, Image wählen, starten. Dieselbe Aktion in der CLI: In the web UI: open project nanos, create instance, pick image, start. Same action in the CLI:

    # visual check
    open https://console.unitedshare.io/
    
    # same control plane
    reemax instance list --project nanos
    reemax instance from-image --project nanos --name gpu-site-b --image IMAGE
    reemax instance start --project nanos --instance gpu-site-b
    reemax instance serial console --project nanos --instance gpu-site-b
  2. Step 2 · IT

    Mesh-Profil für diese Instanz ausstellen Issue a mesh profile for that instance

    Nur das Firmen-Gateway, Split-Tunnel, eine Adresse in 10.73.0.0/24. MagicDNS-Name als Bindestrich-Label, z.B. gpu-site-b.mesh.unitedshare.ai. Company gateway only, split-tunnel, one address in 10.73.0.0/24. MagicDNS name as a hyphen label, e.g. gpu-site-b.mesh.unitedshare.ai.

  3. Step 3 · on the instance

    reemax auf dem Host, Tunnel hoch reemax on the host, bring the tunnel up

    curl -fsSL https://unitedshare.ai/install.sh | sh
    reemax login /etc/unitedshare/unitedshare.conf
    reemax up
    reemax ping 10.73.0.1
    reemax dns gx10-4914.mesh.unitedshare.ai
  4. Step 4 · offer a model

    Ollama an die Mesh-IP binden, nicht an Loopback Bind Ollama to the mesh IP, not loopback

    127.0.0.1:11434 sieht kein anderer Peer. reemax serve defaultet ebenfalls auf Loopback (für Cursor auf demselben Rechner). Für Mesh-Angebot: Ollama auf 0.0.0.0:11434 oder die 10.73-Adresse, und die anderen Clients müssen diese URL in der Backend-Liste haben (heute fest in der CLI: gx10-4914 = 10.73.0.40:11434). 127.0.0.1:11434 is invisible to other peers. reemax serve also defaults to loopback (for Cursor on the same machine). To offer on the mesh: bind Ollama to 0.0.0.0:11434 or the 10.73 address, and other clients must have that URL in the backend list (today compiled in: gx10-4914 = 10.73.0.40:11434).

    # on the GPU box
    OLLAMA_HOST=0.0.0.0:11434 ollama serve
    ollama pull qwen3:8b
    
    # on any other mesh member
    reemax list
    reemax run qwen3:8b "ping"
AufgabeJob console.unitedshare.io reemax CLI
Rack / Silo / Project sehenSee rack / silo / project Sidebar, Karten, SerialSidebar, cards, serial reemax silo list
reemax project list
reemax system hardware sled list
VM starten / stoppenStart / stop a VM Instance-Seite, ButtonsInstance page, buttons reemax instance start|stop|reboot --project nanos --instance NAME
Serial ConsoleSerial console eingebettetes Terminal in der UIembedded terminal in the UI reemax instance serial console --project nanos --instance NAME
Standorte verbindenJoin sites nicht die Aufgabe der Consolenot the console’s job reemax login · up · ping · dns · nodes
Modell nutzenUse a model — reemax list · run · chat · serve
Roh-APIRaw API Browser-Netzwerkpanelbrowser network panel reemax api /v1/instances --jsonfmt

Token und Host Token and host

Token

Ein JWT. Reihenfolge, erstes Non-Empty gewinnt: One JWT. First non-empty wins:

  1. --token
  2. UNITEDSHARE_TOKEN
  3. ~/.unitedshare/env
  4. ~/.unitedshare/credentials.json

reemax auth login --host ist der Nexus-Fallback, wenn kein Token da ist. LLM-Keys (REEMAX_API_KEY) sind ein anderes Geheimnis. reemax auth login --host is the Nexus fallback when no token is present. LLM keys (REEMAX_API_KEY) are a different secret.

Host

Default Control Plane: Default control plane: https://console.unitedshare.io

  1. --host
  2. UNITEDSHARE_HOST
  3. REEMAX_HOST
  4. OXIDE_HOST
  5. env file
  6. https://console.unitedshare.io

Modelle im Mesh Models on the mesh

reemax run nimmt nur den Modellnamen. Die CLI pingt bekannte Backends und nimmt den ersten, der das Modell hat. Keine URL, kein gx10-4914/…-LiteLLM-Präfix. reemax run takes the model name only. The CLI pings known backends and uses the first that has the model. No URL, no gx10-4914/… LiteLLM prefix.

reemax up
reemax list
reemax run qwen3:8b "ping in one sentence"
reemax run qwen3-8b-ba10 "…"     # vLLM on office BA10
reemax serve qwen3:8b            # local OpenAI :8000 for Cursor

Was heute automatisch geht What works today

gx10-4914 unter 10.73.0.40:11434 steht in der Backend-Liste. Jeder mit Tunnel kann qwen3:8b dort treffen, sobald Ollama auf der Box das Tag hat. gx10-4914 at 10.73.0.40:11434 is in the backend list. Anyone with the tunnel can hit qwen3:8b there once Ollama on that box has the tag.

Was nicht automatisch geht What is not automatic

Ein neuer Laptop mit lokalem Ollama erscheint nicht in fremden reemax list. ~/.unitedshare/resources.json ist als Overlay dokumentiert, wird aber noch nicht in die Backend-Liste geladen. A new laptop with local Ollama does not show up in someone else’s reemax list. ~/.unitedshare/resources.json is documented as an overlay but is not loaded into the backend list yet.

Befehle Commands

Katalog der Default-CLI. Oxide-Ressourcen darüber hinaus: reemax <resource> <action>, z.B. project list, ssh-key list, vpc list. Hardware-Switch ist reemax system hardware switch list — top-level reemax switch bleibt Mesh-Login. Default CLI catalog. Beyond this, Oxide resources are reemax <resource> <action>, e.g. project list, ssh-key list, vpc list. Hardware switch is reemax system hardware switch list — top-level reemax switch stays mesh login.

0 Treffer · Klick zeigt usage und pipe. / fokussiert die Suche. matches · click for usage and pipe. / focuses search.

Einen Befehl links wählen. Pick a command on the left.

Maschinenlesbar: reemax help --json. Nicht implementierte Stubs (z.B. file) enden mit Exit 2, kein stiller Fallback. Machine-readable: reemax help --json. Unimplemented stubs (e.g. file) exit 2; no silent fallback.

Coding-Agent und Editor Coding agent and editor

reemax code

reemax install
reemax code          # TUI if tty, else status
reemax code status
reemax launch code

Launcher für das zweite Binary reemax-code. Mesh up → --provider unitedshare (Proxy https://api.unitedshare.ai). Die CLI-Verben sind noch keine MCP-Tools; der Agent kann sie nur über run_command aufrufen. Launcher for the second binary reemax-code. Mesh up → --provider unitedshare (proxy https://api.unitedshare.ai). CLI verbs are not MCP tools yet; the agent can only invoke them via run_command.

Cursor / OpenClaw / Codex

reemax serve qwen3:8b
export OPENAI_BASE_URL=http://127.0.0.1:8000/v1
export OPENAI_API_KEY=reemax

Der lokale Proxy spricht Mesh-Backends. Der Editor bleibt auf Loopback. Framework-MCP (Port 8383) und reemax-code --mcp sind andere Tool-Flächen, nicht dieser Katalog. The local proxy talks to mesh backends. The editor stays on loopback. Framework MCP (port 8383) and reemax-code --mcp are different tool surfaces, not this catalog.

Live-Werte Live values

Gatewayvpn.unitedshare.app:51820
A202.61.195.241
PubkeyuyLAS7TgjmBEoz0Ak+ozsXc54FM8kY1fa6HxeFUTeWE=
Mesh10.73.0.0/24
MagicDNS10.73.0.1 · mesh.unitedshare.ai
Consolehttps://console.unitedshare.io
Headplaneheadplane.preview.unitedshare.ai/admin
Default projectnanos

Grenzen Boundaries

Console

Etwas Zuverlässiges bauen. Let's build something reliable.

Dieselbe Identität für Mesh und Rack. Console für Instanzen. CLI für Tunnel, Modelle und Automation. The same identity for mesh and rack. Console for instances. CLI for tunnel, models, and automation.

console.unitedshare.io