Skip to content
SENS Platform Docs

System Overview

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 workloads

The 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.

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.

Devices, Device Types, organization assignments, and tenant-owned telemetry flows are implemented through contracts, repositories, API routes, audit events, and fixed web-console views.

The finalized Netmore MQTT contract drives the active durable-ingestion path:

  1. the MQTT receiver accepts a broker message;
  2. it publishes one neutral raw event to SENS_RAW_INGESTION_V1;
  3. raw-storage-v1 stores one raw TimescaleDB row;
  4. queue delivery is acknowledged only after the transaction commits and is then removed from the JetStream work queue;
  5. the same database transaction writes a RawStoredEventV1 outbox entry;
  6. the outbox relay publishes it to SENS_RAW_STORED_V1;
  7. when the environment enables flow-worker, it loads and verifies the authoritative raw row, pins a released flow version, and executes the typed DAG;
  8. that Flow transaction commits Current Values, Measurements, E-mail jobs, action outbox entries, and the successful execution status atomically;
  9. 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.