Skip to main content

Node execution agent for llm-port cluster-managed runtimes.

Project description

llm_port_node_agent

llm_port_node_agent is the host-side execution bridge for llm-port 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:
    • LLM_PORT_NODE_AGENT_BACKEND_URL
    • LLM_PORT_NODE_AGENT_ENROLLMENT_TOKEN
    • LLM_PORT_NODE_AGENT_AGENT_ID
    • LLM_PORT_NODE_AGENT_HOST
  3. Start service:
    • llm-port-node-agent

Environment Variables

  • LLM_PORT_NODE_AGENT_BACKEND_URL default http://127.0.0.1:8000
  • LLM_PORT_NODE_AGENT_AGENT_ID default hostname
  • LLM_PORT_NODE_AGENT_HOST default hostname
  • LLM_PORT_NODE_AGENT_ADVERTISE_HOST default LLM_PORT_NODE_AGENT_HOST
  • LLM_PORT_NODE_AGENT_ADVERTISE_SCHEME default http (allowed: http, https)
  • LLM_PORT_NODE_AGENT_ENROLLMENT_TOKEN one-time token for initial enrollment
  • LLM_PORT_NODE_AGENT_STATE_PATH default /var/lib/llm-port-node-agent/state.json
  • LLM_PORT_NODE_AGENT_HEARTBEAT_INTERVAL_SEC default 15
  • LLM_PORT_NODE_AGENT_INVENTORY_INTERVAL_SEC default 60
  • LLM_PORT_NODE_AGENT_RECONNECT_MIN_SEC default 2
  • LLM_PORT_NODE_AGENT_RECONNECT_MAX_SEC default 30
  • LLM_PORT_NODE_AGENT_REQUEST_TIMEOUT_SEC default 20
  • LLM_PORT_NODE_AGENT_VERIFY_TLS default true
  • LLM_PORT_NODE_AGENT_LOKI_URL Loki push endpoint (e.g. http://10.0.0.1:3100). When set, the agent collects system logs (journald on Linux, Event Log on Windows) and pushes them to Loki with labels {job="node-agent", host="<hostname>", level="..."}.
  • LLM_PORT_NODE_AGENT_LOG_BATCH_SIZE default 100 — max log lines per collection cycle
  • LLM_PORT_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), Windows (x86_64), and macOS (universal).

Linux

curl -fLO https://github.com/llm-port/llm-port-node-agent/releases/latest/download/llm-port-node-agent-linux-x86_64
sudo install -m 0755 llm-port-node-agent-linux-x86_64 /usr/local/bin/llm-port-node-agent

Then install the systemd service (see below) or run directly:

export LLM_PORT_NODE_AGENT_BACKEND_URL=http://your-backend:8000
export LLM_PORT_NODE_AGENT_ENROLLMENT_TOKEN=tok_xxx
llm-port-node-agent

Windows

Download llm-port-node-agent-windows-x86_64.exe from the releases page and run:

$env:LLM_PORT_NODE_AGENT_BACKEND_URL = "http://your-backend:8000"
$env:LLM_PORT_NODE_AGENT_ENROLLMENT_TOKEN = "tok_xxx"
.\llm-port-node-agent-windows-x86_64.exe

macOS

curl -fLO https://github.com/llm-port/llm-port-node-agent/releases/latest/download/llm-port-node-agent-macos-universal
chmod +x llm-port-node-agent-macos-universal
export LLM_PORT_NODE_AGENT_BACKEND_URL=http://your-backend:8000
export LLM_PORT_NODE_AGENT_ENROLLMENT_TOKEN=tok_xxx
./llm-port-node-agent-macos-universal

Via CLI

llmport node agent deploy --backend-url http://your-backend:8000

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/llm-port-node-agent.service

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmport_agent-0.1.2.tar.gz (43.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmport_agent-0.1.2-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

Details for the file llmport_agent-0.1.2.tar.gz.

File metadata

  • Download URL: llmport_agent-0.1.2.tar.gz
  • Upload date:
  • Size: 43.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for llmport_agent-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f789c32b5d1f8ec6a18f7db29016c132e007b8b83ab9d616f814e8522cab05bb
MD5 2c39063ce54507f388ab8b4d6d323a22
BLAKE2b-256 b195355eff46a75097d7cb3590b24094d0b77680e35c10594dabce6f86931467

See more details on using hashes here.

File details

Details for the file llmport_agent-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: llmport_agent-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 34.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for llmport_agent-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3f4a6d0d000b1bbcfcbe9600e51785da9d731a820e117285215c221e4785e77c
MD5 12e878c426d4b3cec19eecc6518db857
BLAKE2b-256 a358a67de625c31df6c9ec84d55a5a42abca06740201fddd88ed2ab5b09e2d17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page