Split the worker into a distribution of its own

A cluster or GPU host installs `pip install fluksio-worker` and gets the
agent and the runner, not psycopg, numpy and the MCP SDK. The engine
depends on it as a workspace member, so the file it launches node code
with is the same file a remote worker runs — which is what keeps a node
unable to tell the difference. Copying the two files by hand still works.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-21 21:54:10 +02:00
co-authored by Claude Opus 5
parent 60d7ec81c0
commit 2c369ac75f
17 changed files with 122 additions and 42 deletions
+21
View File
@@ -0,0 +1,21 @@
# fluksio-worker
Runs [Fluksio](https://fluksio.com) 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.
```sh
pip install fluksio-worker
fluksio-worker \
--url wss://api.example.com/api/v1/workers/attach \
--token "$FLUKSIO_WORKER_TOKEN" \
--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`.
Linux and macOS.