mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-11-04 18:23:51 +00:00
479f292767
Each node collects its hardware facts as root at daemon start (dmidecode, ethtool, networkctl LLDP where available) into /etc/spinifex/node-facts, and the daemon serves them with its plane wiring over NATS. New admin-only actions, refused for every account but the system admin account regardless of policy: - GetNodeFacts: hardware, NICs, LLDP neighbours and planes per node - GetNodeMetrics: live CPU, memory and per-plane traffic for one node - StartNetworkTest / DescribeNetworkTests: iperf2 between nodes over a chosen plane, both directions, one test cluster-wide at a time, recorded in KV and converged asynchronously The iperf listener runs only for the duration of a run, without capabilities, on TCP 5001, which the peers firewall rule now allows. A run refuses any target outside the node's own plane subnet. The console gains a node panel (hardware, network, metrics, network test with a dial scaled to the port's line rate) and a topology view built with @xyflow/react. setup.sh installs dmidecode and iperf.