Every device in the estate, IT, GPU, network and facility, enters through a protocol driver, normalizes into a single telemetry and alarm pipeline, and leaves through the same northbound surfaces. Nothing downstream of ingestion branches on protocol.
store_samples()/api/v1/redfish/v1store_samples() writes every reading to the TimescaleDB hypertable in one canonical shape, whatever it was read from.Servers, blades, storage, BMCs, CDUs
GPU nodes, clusters, job queues
Routers, switches, optical transport
UPS, PDUs, cooling, generators, HVAC
/api/v1/assets/{slug}/telemetry returns the same shape whether the reading came from a BMC sensor, a Modbus register, an OpenConfig path, an HVAC point, an OID, a DCGM field or a SLURM counter.
Control stays protocol-specific: /api/v1/assets/{slug}/{protocol}/commands SNMP, DCGM and SLURM are telemetry-only and expose no control surface at all.
Account scope is enforced at the data layer, not the route layer. Streams intersect their watch list against visible accounts, and every configuration change lands in the audit log.
These layers are the platform's own. Where each of your assets sits is a separate axis, recorded per asset as a Purdue level and security zone, with a conduit report for what crosses between them. Levels and conduits.