Skip to main content

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

  1. Create token in backend admin:
    • POST /api/admin/system/nodes/enrollment-tokens
  2. Set environment variables on node host:
    • FADEN_NODE_AGENT_BACKEND_URL
    • FADEN_NODE_AGENT_ENROLLMENT_TOKEN
    • FADEN_NODE_AGENT_AGENT_ID
    • FADEN_NODE_AGENT_HOST
  3. 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_URL default http://127.0.0.1:8000
  • FADEN_NODE_AGENT_AGENT_ID default hostname
  • FADEN_NODE_AGENT_HOST default: this machine's address on the route to the backend, else hostname
  • FADEN_NODE_AGENT_ADVERTISE_HOST default: this machine's address on the route to the backend, else FADEN_NODE_AGENT_HOST
  • FADEN_NODE_AGENT_ADVERTISE_SCHEME default http (allowed: http, https)
  • FADEN_NODE_AGENT_ENROLLMENT_TOKEN one-time token for initial enrollment
  • FADEN_NODE_AGENT_STATE_PATH default /var/lib/faden-agent/state.json as root, ~/.local/share/faden-agent/state.json otherwise
  • FADEN_NODE_AGENT_HEARTBEAT_INTERVAL_SEC default 15
  • FADEN_NODE_AGENT_INVENTORY_INTERVAL_SEC default 60
  • FADEN_NODE_AGENT_RECONNECT_MIN_SEC default 2
  • FADEN_NODE_AGENT_RECONNECT_MAX_SEC default 30
  • FADEN_NODE_AGENT_REQUEST_TIMEOUT_SEC default 20
  • FADEN_NODE_AGENT_VERIFY_TLS default true
  • FADEN_NODE_AGENT_LOKI_URL Loki 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_SIZE default 100 — max log lines per collection cycle
  • FADEN_NODE_AGENT_LOG_FLUSH_INTERVAL_SEC default 5 — 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)

Source distribution for faden-agent 0.2.12
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)

Table of built distributions (wheels) for faden-agent 0.2.12
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page