Skip to main content

Node Overview

Ithiltir-node is the node metrics collector. It has two modes:

  • local: serves a local node page and local API.
  • push: reports to Dash and keeps local cached results.

Local Mode

./node
./node local [listen_ip] [listen_port] [--net iface1,iface2] [--debug]
  • Default listen address: 0.0.0.0:9100
  • Environment overrides: NODE_HOST, NODE_PORT
  • Page: GET / or GET /local
  • Metrics API: GET /metrics
  • Static hardware API: GET /static

Push Mode

./node push [interval_seconds] [--net iface1,iface2] [--debug] [--require-https]
  • Linux/macOS default config: /var/lib/ithiltir-node/report.yaml.
  • Windows default config: %ProgramData%\Ithiltir-node\report.yaml.
  • ITHILTIR_NODE_REPORT_CONFIG overrides the config path.
  • Each target URL points to the Dash metrics endpoint and sends X-Node-Secret: <key>.
  • Debug local API: GET http://127.0.0.1:${NODE_PORT:-9101}/.

Code Layout

PathContent
cmd/nodenode entrypoint
cmd/runnerWindows runner entrypoint
internal/appmode dispatch and lifecycle
internal/cliargument parsing
internal/collectsamplers and platform collectors
internal/metricsruntime and static JSON structures
internal/pushpush client
internal/reportcfgreport target config
internal/runnerWindows runner supervisor
internal/selfupdatestaged update support
internal/serverHTTP handlers