Skip to content

Gate

Gate forwards device telemetry to a cloud NATS endpoint. It is a one-way bridge: local status, data_status, and event2 messages are sampled and forwarded.

Module id: gate. Several entries can coexist.

Configuration

Config type Component ref Description
gate gate.gate.main GateConfiguration is the gate module's remote-access gateway config.

What it forwards

  • Component status (telemetry), according to statusForwardFilter
  • data_status (per-batch stats), according to dataStatusForwardFilter
  • Events (event2), according to eventForwardFilter - forwarded onto the cloud event subject

Telemetry is sampled at a configurable interval. For each window, only the last value wins. Messages are buffered locally and flushed when the cloud is reachable.

Identity

Device identity is part of the config, normally bound from deviceinfo. Gate starts with no identity and forwards nothing until a config supplies one. deviceId and tenantId must be what the credentials authorize - a mismatch connects and is then refused per publish (ERROR, non-zero authzErrors on gate.remoteconn.<id>).

Credentials

The remote credentials are a secret of kind bytes, named by remoteNatsCredsRef and fetched at apply - gate holds them in memory only, so nothing writes them to disk and no export or manifest carries them. The declaration must admit gate.gate:

algol secret set gate_parametric_rar4000 --kind bytes --consumer gate.gate --from-file ngs.creds

Deleting the secret withdraws the credential: gate drops the connection built with it and waits. A remote that refuses the credentials outright is ERROR with authnErrors climbing on gate.remoteconn.<id>, retried on a backoff.

See the gate config for fields, configuration status, and an example.

NATS endpoints

None declared.

Gate is a publisher/subscriber only. Status of the remote connection is on gate.remoteconn.<id> telemetry - see Telemetry.