Get desktop application:
View/edit binary Protocol Buffers messages
Edge ↔ Cluster coordination and replication service. Hosted on cluster brokers, behind the standard auth interceptor. The edge is a constrained gateway for MQTT ingestion into the cloud. Topics are defined by edge config (edge.yaml) and registered with the cluster at startup. The cluster maintains per-edge state in Raft.
Periodic heartbeat + change detection. Edge sends its config_version; cluster compares against Raft state. Fast path: versions match → no changes. Slow path: returns changelog.
Edge's current config version
false = fast path, nothing to do
Current version (same if changed=false)
Only populated if changed=true
Register (or re-register) an edge broker with the cluster. Called once at startup. Creates topics on the cluster, resolves schemas from the cluster registry, and stores per-edge state in Raft. Idempotent: re-registration diffs against previous state.
e.g. "edge1"
Full list of topics from config
Initial config version from Raft
Per-topic resolution results
Bidirectional stream: edge sends message batches, cluster acks offsets. Uses batch_last_offset as idempotency key to prevent duplicate writes.
Full messages from edge WAL
Idempotency key (highest edge offset)
Echoes batch_last_offset on success
A single change detected during heartbeat.
Used in:
Set for SCHEMA_UPDATED
Human-readable context
Used in:
Schema subject has a new version on the cluster
Schema subject was deleted from cluster registry
Topic was deleted from cluster (admin action)
A topic declared in the edge's config (edge.yaml).
Used in:
e.g. "/edge1/telemetry"
e.g. "telemetry-events" (absent = raw bytes)
Schema definition resolved by the cluster from its registry. Sent to the edge so it can cache and validate MQTT payloads locally.
Used in: ,
"json_schema", "avro", "protobuf", etc.
Full definition for edge to cache
SHA-256 for change detection
"none", "backward", "forward", "full"
Result of registering a single topic during RegisterEdge.
Used in:
true if newly created on cluster
true if schema_subject found in registry
Full schema info (only if resolved)
Non-empty if topic/schema setup failed