Five origins

Values returned by this API come from five places, and the origin determines the
failure mode.

The BNG controller, over plaintext loopback at http://localhost:3000.
Health, counters, session state, and the entire configuration surface originate
here. Timeouts are short and deliberate — two seconds for the hot read paths,
four to fifteen seconds for provisioning and reset operations. When the
controller is unreachable, QuantumTouch does not fail silently or hang; it
returns 502 with a machine-readable error code and, on /health, still
returns the portion of the picture it can compute itself.

The VPP data plane, through vppctl. Version strings, interface counters,
port addressing, and the uplink gateway probe come from here. The uplink probe is
worth calling out: because VPP owns the data plane, a kernel ping from the web
tier would exit through the out-of-band management NIC and prove nothing about
the subscriber path. QuantumTouch therefore asks VPP itself to ping the gateway
and parses the result.

The host and the platform/proc/net/dev for veth throughput,
/sys/bus/pci/devices and ethtool/devlink/modinfo for NIC and driver
inventory, os.statvfs for disk occupancy, journalctl for service logs, and
ipmitool for BMC sensors, power supplies, and fans.

QuantumTouch's own persistent state, under the data directory (by default
/opt/bng-deploy/data): the append-only event log and its archives, the sticky
event history, acknowledgement records, configuration snapshots, the settings
document, session records, and the audit shipper's spools and offsets.

The time-series layer — a Prometheus instance scraping QuantumTouch's own
/metrics endpoint, backed by an in-process ring buffer that continues to fill
regardless of Prometheus's state. This dual structure, and the rules governing
which one answers a given query, is described in Time Series and Analytics.