Skip to main content
  • Kind: Projection
  • Version: 1
  • Fleet Manager owner: Fleet Manager squad, #fleet-manager-chat (individual claimant pending)
  • Counterpart owner: Microsoft via the Nscale account team; internal delivery owner Fleet Manager squad
  • Last reviewed: 2026-09-09

What flows

The matrix-connector (src/fleet_manager/api/connectors/matrix/, ADR-0021 and ADR-0022) consumes device and cable inventory events over JetStream, drains a delivery queue into Kusto projection tables for servers, NVSwitches, datacentres and link staging, and runs a polling backstop. It holds inventory:read and inventory-links:read. It also reads NetBox directly: wire_netbox_direct installs either the two-clock sync loop (netbox_direct_enabled) or the legacy per-delivery NetBoxDirectFeed, and both populate the EthDevices and IbInventory tables from NetBox rather than from Fleet Manager projections, so this connector has an observation input of its own (see netbox). Site scope is a fail-closed site_filter; the freshness target is under five minutes.

What breaks if this changes

A DeviceInventoryProjection or cable projection shape change breaks table transforms and the schema lint. A NetBox outage or schema change stales EthDevices and IbInventory directly, independent of Fleet Manager. A NetBox naming deviation (a missing asset tag, an off-convention IB switch name) raises MatrixTransformError in the worker: in production the delivery is marked failed and dead-lettered with a monitored gauge, in dev the record is skipped with a warning and a counter. The row is missing from the customer feed either way, but the signal is in the delivery queue, logs and metrics, not silent.

Enforcement

  • Principal: matrix-connector.
  • Mechanism: towards Fleet Manager, FM OAuth client (private-key JWT) in the hub chart roster; towards NetBox, the NetBox API token (see netbox); towards Kusto, the Azure service principal in the azure-kusto and azure-kusto-admin 1Password items (src/fleet_manager/settings/clients/azure_kusto.py); towards NATS, the fleet-matrix-connector-client certificate on the Fleet Manager-owned plane (see nats).
  • Hub roster client matrix-connector; matrix-connector-schema-lint pre-commit hook.
  • Settings: src/fleet_manager/settings/agents/matrix.py; operations guide Matrix Connector Operations.

Gaps

  • Kusto ingest visibility is Microsoft-side; Fleet Manager measures queue age, not sink-visible latency.

Change log

  • 2026-09-09 v1: created; describes present behaviour.