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

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.11
File Size Uploaded Provenance Actions
faden_agent-0.2.11.tar.gz 759.0 kB With provenance Details for faden_agent-0.2.11.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for faden-agent 0.2.11
File Interpreter ABI Platform Actions
faden_agent-0.2.11-py3-none-any.whl Python 3 none any Details for faden_agent-0.2.11-py3-none-any.whl

Total release size: 990.7 kB

Release files / faden_agent-0.2.11.tar.gz

Download URL faden_agent-0.2.11.tar.gz
Size 759.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1557eef6b18d2d9287bdb0cabbbfe4eb023503929eb02e973f6337e2a2235cf7
BLAKE2b-256 checksum
How to use checksums
4538c4ace57e9327ba9b42ac8fbc79540457d0b34cfbb9bc2859b98f552c4ab1
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 Oct 21, 2026.

Transparency log

Release files / faden_agent-0.2.11-py3-none-any.whl

Download URL faden_agent-0.2.11-py3-none-any.whl
Size 231.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2770529dfaef93e3a33c2a93081f7640c0e40ba436423ef2eb187d605a4cd9c0
BLAKE2b-256 checksum
How to use checksums
daba809ea35b512f844d9440796250b74ea832dd92ad912dd14337733ef51b5b
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 Oct 21, 2026.

Transparency log

Security for faden-agent 0.2.11

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.11.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 Oct 21, 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