System Overview
Current System
Section titled “Current System”Browser -> web-console -> platform-api -> PostgreSQL/TimescaleDB
Netmore MQTT -> mqtt-ingestion-worker -> NATS JetStream raw stream -> raw-storage-worker -> PostgreSQL/TimescaleDB raw row + outbox -> NATS JetStream raw-stored stream -> flow-worker (when enabled) -> script-sandbox-worker (for released custom scripts) -> Current Values + Measurements + Action jobs -> flow-action-worker (when enabled)
Argo CD -> Helm chart -> migration and stream-bootstrap Jobs -> application and worker workloadsThe current platform supports login, tenant and organization administration, user and membership management, audit queries, runtime operability, and the permanent test web console. The Netmore receiver, durable raw stream, raw storage, and raw-stored outbox path are implemented. The three flow workloads are implemented and disabled by the Helm chart defaults. The GitOps release overlays currently enable Flow and sandbox processing in test, keep Action processing disabled in test, and select all three workloads for production. A repository review proves this desired state, not whether a target cluster has already synchronized it.
Current Deployables
Section titled “Current Deployables”The authoritative inventory is Services and components. It records every application, worker, Job, stateful dependency, direct dependency, ingress boundary, and enablement state. Update that inventory in the same change whenever topology changes.
Resource inventory
Section titled “Resource inventory”Devices, Device Types, organization assignments, and tenant-owned telemetry flows are implemented through contracts, repositories, API routes, audit events, and fixed web-console views.
Telemetry ingestion and processing
Section titled “Telemetry ingestion and processing”The finalized Netmore MQTT contract drives the active durable-ingestion path:
- the MQTT receiver accepts a broker message;
- it publishes one neutral raw event to
SENS_RAW_INGESTION_V1; raw-storage-v1stores one raw TimescaleDB row;- queue delivery is acknowledged only after the transaction commits and is then removed from the JetStream work queue;
- the same database transaction writes a
RawStoredEventV1outbox entry; - the outbox relay publishes it to
SENS_RAW_STORED_V1; - when the environment enables
flow-worker, it loads and verifies the authoritative raw row, pins a released flow version, and executes the typed DAG; - that Flow transaction commits Current Values, Measurements, E-mail jobs, action outbox entries, and the successful execution status atomically;
- when the environment enables
flow-action-worker, it performs enabled E-mail actions independently from telemetry persistence.
The MQTT receiver has one output only. A Flow can therefore never start before
raw evidence is durable. script-sandbox-worker is the isolated execution
boundary for released custom-script blocks; built-in blocks execute in the
Flow worker. Helm defaults keep the three flow workloads disabled. Each GitOps
release overlay records the environment-specific rollout decision.