faden_agent
faden_agent is the host-side execution bridge for Fadenstack node clusters.
It does not perform cluster scheduling. The backend remains authoritative for:
- desired state
- placement and routing policy
- GPU-aware filtering and load-balancing
The agent responsibilities are:
- enroll with one-time token
- maintain authenticated outbound stream
- execute node commands (Docker runtime lifecycle)
- report heartbeat, inventory, command timeline, and events
Quick Start
- Create token in backend admin:
POST /api/admin/system/nodes/enrollment-tokens
- Set environment variables on node host:
FADEN_NODE_AGENT_BACKEND_URLFADEN_NODE_AGENT_ENROLLMENT_TOKENFADEN_NODE_AGENT_AGENT_IDFADEN_NODE_AGENT_HOST
- Start service:
faden-agent run(foreground, for testing)faden-agent start(install as systemd service)
Commands
| Command | Description |
|---|---|
faden-agent |
Show the configuration and a menu of what to do |
faden-agent run |
Run in foreground (test connectivity, Ctrl+C to stop) |
faden-agent start |
Install and start as a systemd service (picks up FADEN_NODE_AGENT_* env vars) |
faden-agent stop |
Stop and disable the systemd service |
faden-agent status |
Show systemd service status |
Environment Variables
FADEN_NODE_AGENT_BACKEND_URLdefaulthttp://127.0.0.1:8000FADEN_NODE_AGENT_AGENT_IDdefaulthostnameFADEN_NODE_AGENT_HOSTdefault: this machine's address on the route to the backend, elsehostnameFADEN_NODE_AGENT_ADVERTISE_HOSTdefault: this machine's address on the route to the backend, elseFADEN_NODE_AGENT_HOSTFADEN_NODE_AGENT_ADVERTISE_SCHEMEdefaulthttp(allowed:http,https)FADEN_NODE_AGENT_ENROLLMENT_TOKENone-time token for initial enrollmentFADEN_NODE_AGENT_STATE_PATHdefault/var/lib/faden-agent/state.jsonas root,~/.local/share/faden-agent/state.jsonotherwiseFADEN_NODE_AGENT_HEARTBEAT_INTERVAL_SECdefault15FADEN_NODE_AGENT_INVENTORY_INTERVAL_SECdefault60FADEN_NODE_AGENT_RECONNECT_MIN_SECdefault2FADEN_NODE_AGENT_RECONNECT_MAX_SECdefault30FADEN_NODE_AGENT_REQUEST_TIMEOUT_SECdefault20FADEN_NODE_AGENT_VERIFY_TLSdefaulttrueFADEN_NODE_AGENT_LOKI_URLLoki push endpoint (e.g.http://10.0.0.1:3100). When unset, the agent asks the backend where to send logs and pushes them through the backend. Either way it collects system logs (journald on Linux, Event Log on Windows), its containers' logs and Ray Serve's logs, and pushes system logs with labels{job="node-agent", host="<advertise host>", agent_id="...", container="node-<agent id>", level="..."}.FADEN_NODE_AGENT_LOG_BATCH_SIZEdefault100— max log lines per collection cycleFADEN_NODE_AGENT_LOG_FLUSH_INTERVAL_SECdefault5— seconds between log collection cycles
Binary Installation (no Python required)
Pre-built standalone binaries are available on the GitHub Releases page for Linux (x86_64 and aarch64).
Linux
curl -fLO https://github.com/fadenstack/fadenstack/releases/download/node-agent-v0.2.1/faden-agent-linux-x86_64
sudo install -m 0755 faden-agent-linux-x86_64 /usr/local/bin/faden-agent
Then install the systemd service (see below) or run directly:
export FADEN_NODE_AGENT_BACKEND_URL=https://your-server
export FADEN_NODE_AGENT_ENROLLMENT_TOKEN=tok_xxx
# Test connectivity first (foreground, Ctrl+C to stop)
faden-agent run
# Once working, install as a service
faden-agent start
Via CLI
faden deploy --local-node # on the server's own host
faden deploy --local-node --local-node-host user@gpu1 # on another host, over SSH
On the server's own host, the CLI auto-detects pre-built binaries in the workspace
dist/ directories and uses them instead of cloning + setting up a Python venv.
Systemd
A unit file template is available at:
deploy/systemd/faden-agent.service
Metadata
Release files for faden-agent 0.2.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| faden_agent-0.2.12.tar.gz | 759.8 kB | With provenance | Details for faden_agent-0.2.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| faden_agent-0.2.12-py3-none-any.whl | Python 3 | none | any | Details for faden_agent-0.2.12-py3-none-any.whl |
Total release size: 991.5 kB
Release files / faden_agent-0.2.12.tar.gz
| Download URL | faden_agent-0.2.12.tar.gz |
|---|---|
| Size | 759.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
30024578d2549cc85753282953d3732d84bb22beb0a20ac0f4fd31b9f290406f
|
|
BLAKE2b-256 checksum How to use checksums |
4de3a9e34bfc37698e77f6834fda8acac5ac6281d05de0baa63c2913f1f646e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.
Transparency logRelease files / faden_agent-0.2.12-py3-none-any.whl
| Download URL | faden_agent-0.2.12-py3-none-any.whl |
|---|---|
| Size | 231.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
70a23876897d2d77b019f69a3e4071f8a324cef1b6c9b7e49de5f1607b9fa491
|
|
BLAKE2b-256 checksum How to use checksums |
1a2078f94b2b42e71f681d76ae7e05661f92cb4226a7ffd3cc50077cc7ad072a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.
Transparency logSecurity for faden-agent 0.2.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for faden_agent-0.2.12.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.