Skip to content
SENS Platform Docs

Services and components

This section describes the implementation at service level. Use it when you need to understand ownership, dependencies, failure behavior, scaling, or the correct place for a code change.

DeployableResponsibilityDirect dependenciesPublic ingress
web-consoleCustomer-facing browser UI and static runtime server.platform-apiTest; Production prepared.
platform-apiAuthentication, authorization, business APIs, audit, and raw-data queries.PostgreSQL/TimescaleDBTest and production.
mqtt-ingestion-workerReceives the Netmore MQTT feed and publishes neutral raw events.Netmore MQTT, NATS JetStreamNo.
raw-storage-workerStores each distinct raw event and acknowledges it after commit.NATS JetStream, PostgreSQL/TimescaleDBNo.
flow-workerExecutes a pinned typed flow after the authoritative raw commit.NATS JetStream, PostgreSQL/TimescaleDBNo.
script-sandbox-workerIsolates future released custom-script execution in QuickJS/WASM.NATS JetStreamNo.
flow-action-workerExecutes committed E-mail action jobs.NATS, PostgreSQL, optional SMTPNo.
docsPublishes this documentation and the interactive OpenAPI console.None at runtimeTest and production.
ComponentResponsibility
Database migration JobApplies append-only SQL migrations before application rollout.
Raw-stream bootstrap JobCreates or compatibly updates the JetStream stream and durable consumer.
Raw-retention CronJobRemoves expired raw records and delivered outbox events in bounded batches.
PostgreSQL/TimescaleDBAuthoritative relational, audit, raw-ingestion, and future measurement storage.
NATS JetStreamBounded durable buffer between MQTT reception and raw storage.

Argo CD, OpenBao, External Secrets Operator, Reloader, Traefik, cert-manager, GHCR, and GitHub Actions support these workloads. They are mapped in Platform components.

Administrative request:

Browser -> web-console -> platform-api -> authorization -> repository
-> PostgreSQL transaction + audit -> HTTP response

Raw telemetry reception:

Netmore MQTT -> mqtt-ingestion-worker -> NATS JetStream
-> raw-storage-worker -> TimescaleDB raw row + outbox
-> raw-stored stream -> flow-worker
-> current values + measurements + E-mail jobs + action outbox
-> flow-action-worker

The three flow workers are implemented and rendered by Helm but disabled by default until the environment rollout gates are approved. See Versioned Telemetry Flows for the exact implemented boundary and remaining production gates.