nexus-link

Hardware agent for connecting on-premise AI nodes to the Nexus platform.

nexus-link connects NVIDIA DGX Spark, A100, and H100 hardware nodes to the Nexus backend: live telemetry push and remote compose management — without requiring inbound network access into your infrastructure.

Installation

One-liner (recommended)

curl -fsSL https://nexus.gatewarden.eu/install-link.sh | bash

The installer detects your platform (Linux aarch64 / x86_64), downloads the pre-built binary from GitHub Releases, and verifies its SHA-256 checksum.

From source

cargo install --git https://github.com/gwnexus/nexus-link.git nexus-link-cli

Requires Rust >= 1.85 (2024 edition).

Container image

docker pull ghcr.io/gwnexus/nexus-link/nexus-link-service:latest

Multi-arch manifest (arm64 + amd64) — automatically selects the correct platform.

Quick start

# 1. Preflight check (optional — register runs this automatically)
nexus-link preflight

# 2. Register the node with both tokens from the Nexus dashboard
nexus-link register \
  --token     <nxs_node_*> \
  --cmd-token <nxs_cmd_*>

# 3. Start the telemetry agent
nexus-link agent start

# 4. Start the command service (receives compose management commands)
nexus-link-service

# 5. Check status
nexus-link status

Both tokens are generated and displayed once in the Nexus dashboard registration wizard. Copy them before closing the dialog.

Two-token security model

nexus-link uses two independent credentials with different trust levels:

TokenFormatUsed byOperationsTrust level
Node Tokennxs_node_*Telemetry agentPOST /telemetry, heartbeatRead-only
Command Tokennxs_cmd_*Compose serviceFile read/write, docker compose, logsWrite-capable

This separation ensures a compromised telemetry process cannot trigger service restarts or modify compose configuration. Both tokens are stored in ~/.nexus-link/config.toml.

Token rotation

CommandBehavior
nexus-link refresh --token <nxs_node_*>Rotate node token. 24-hour grace period. Restarts agent automatically.
nexus-link refresh-cmd --cmd-token <nxs_cmd_*>Rotate command token. Immediate effect, no grace period.

Compose management

The nexus-link-service (port 8443) exposes a compose management API used by the Nexus dashboard Compose tab:

EndpointMethodDescription
/api/healthGETHealth check (no auth required)
/api/compose/fileGETRead docker-compose.yaml + companion files
/api/compose/filePUTWrite compose file (YAML validation, atomic write)
/api/compose/activatePOSTRun docker compose up -d (120s timeout)
/api/compose/logsGETLive log stream (SSE, docker compose logs --follow)

All /api/compose/* endpoints require Authorization: Bearer <nxs_cmd_*>. The node token is not accepted on compose routes.

Dashboard integration

The AI Hardware node detail page has a Compose tab where you can:

  • View and edit docker-compose.yaml and companion files (.env, .conf, .toml)
  • Save & Commit — atomically writes the file with YAML validation
  • Activate Config — runs docker compose up -d with output displayed in the UI
  • Stream Logs — live docker compose logs --follow as Server-Sent Events

The dashboard proxy routes all compose API calls server-side — the command token never reaches the browser.

Ed25519 request signing

Write operations (PUT /api/compose/file, POST /api/compose/activate) support Ed25519 request signing. The Nexus backend signs each write request with its private key; nexus-link-service verifies the signature before processing.

Protection:

  • 5-minute timestamp window prevents replay attacks
  • SHA-256 body hash detects payload tampering
  • The signing private key never leaves the Nexus backend

Signature enforcement is opt-in:

nexus-link config set compose.require_signatures true

The Ed25519 public key is delivered during node registration and stored in ~/.nexus-link/signing_key.pub.

Device compatibility

Registration includes an automatic preflight check:

CheckWhat it verifies
ArchitectureLinux aarch64 or x86_64
GPUNVIDIA GPU present (via nvidia-smi)
DockerDocker daemon accessible
NetworkNexus API reachable
Disk>= 10 GB available

Known devices (fully tested)

DeviceIdentifierNotes
NVIDIA DGX Sparkgb10GB10 Grace Blackwell, 128 GB, aarch64
NVIDIA DGX Station A100a1004x A100 80 GB, AMD EPYC, x86_64
NVIDIA DGX A100dgx-a1008x A100 80 GB, AMD EPYC, x86_64
NVIDIA DGX H100dgx-h1008x H100 80 GB, x86_64

CLI reference

Core commands

CommandDescription
nexus-link registerRegister this node with both tokens
nexus-link preflightRun device compatibility check
nexus-link statusShow registration and agent status
nexus-link reset [--force]Hard-reset: stop services, remove config
nexus-link unregister [--force]Send offline heartbeat and remove config
nexus-link upgrade [--force]Upgrade to latest release

Agent commands

CommandDescription
nexus-link agent startStart the telemetry agent daemon
nexus-link agent stopStop the running agent
nexus-link agent logs [-t N]Show last N agent log lines

Config commands

CommandDescription
nexus-link config showDisplay full configuration
nexus-link config set <k> <v>Set a configuration value
nexus-link config get <k>Get a configuration value
nexus-link config pathPrint config file path

Was this page helpful?