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 toeventForwardFilter- forwarded onto the cloudeventsubject
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:
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.