Files
app/worker
stroblmeandClaude Opus 5.5 a6736bf484 Workers screen shows each agent's version and protocol, and who is behind
The hello carries the fluksio-worker version. An agent refused for an older
protocol stays listed as Needs upgrade until it attaches again. Docs gain an
Upgrading workers section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WgBfkm4rCmtd1T4vHWjEPx
2026-10-15 11:09:54 +02:00
..

fluksio-worker

Runs Fluksio nodes on a machine the engine cannot reach — a GPU box, a cluster node, anything behind a NAT. It dials out to the engine over one authenticated websocket, so nothing has to be exposed here.

pip install fluksio-worker

fluksio-worker \
  --url wss://api.example.com/api/v1/workers/attach \
  --labels gpu,cuda12 \
  --python /opt/torch-venv/bin/python

--python is the interpreter node code runs on, which is how this machine keeps its own wheels without the engine ever installing them. Mint a token from the engine with POST /api/v1/workers/tokens; it carries this worker's name and labels, and --labels may repeat those but not change them.

It sends the token as an Authorization header, which an engine from before that does not read: upgrade the engine first, then its workers.

A plain ws:// address is refused unless the engine is on this machine, since the token and node secrets would cross the network in clear; --insecure allows it on a network you trust.

Linux and macOS.

License

Copyright (C) 2026 Melvin Strobl — GNU Affero General Public License v3.0 or later. Running a modified version over a network obliges you to offer its users the corresponding source (AGPL §13).