The worker reads FLUKSIO_WORKER_TOKEN itself; on the command line the token shows in ps. The --token row in the options table says so.
36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# 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 \
|
|
--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](https://www.gnu.org/licenses/agpl-3.0.en.html). Running a modified
|
|
version over a network obliges you to offer its users the corresponding source
|
|
(AGPL §13).
|