Skip to main content
Edge SQLite sync (also called edge replication) moves data from a SQLite database on your device into Golain cloud storage. Changes are captured on the device, sent over MQTT, governed on the server, and materialized into queryable state tables or telemetry hypertables. This is not a file-level SQLite backup. The cloud stores governed, typed projections — not a copy of your .db file.

Who this is for

At a glance

Core concepts

Lineage

One sync relationship per device + SQLite table. Tracks active/paused status and materialization health.

Staging

Rows held in cloud storage while schema is under review or lineage is paused — not lost.

Schema review

Human approval when a table’s schema is new or changed. You decide which columns mirror to the cloud.

Materialization

Approved rows land in a project dataspace (telemetry, state, or mutable) — queryable from the platform.

Components

Enabling it on a device is the sqlite-replication module plus its config section — see Omega setup for SQLite sync.
Edge v2 runs a dedicated edge worker on edge_ingress_exchange and edge_exchange. The integration worker no longer ingests edge sync batches. After upgrading, confirm the edge worker is registered and run make rabbitmq-topology so ingress queues exist.

Typical first-time flow

  1. Register device in the console — note device name (used as MQTT client ID / topic segment). → Fleets and devices
  2. Issue MQTT certificate on the device MQTT & Certs tab.
  3. Create an Omega policy — upload SQLite schema, pick tables and strategies. → Omega in the console
  4. Attach policy to the device and download the Omega bundle.
  5. Deploy Omega on the device — edit source_db_path, run the agent. → Console deployment
  6. Approve schema — default policy queues review on first sight of a table; approve in Omega → Governance.
  7. Query data — use mirror-rows for relational/state tables and QueryScript against the lineage’s edge_ts_* hypertable for telemetry.

Hand-rolled path

  1. Register device in console or golain — note device name.
  2. Build Omega (SQLite sync is core — always compiled) and write a profile with the sqlite-replication module + its config section. → Omega setup for SQLite sync
  3. Start Omega — the module installs triggers on your tables; the first batches arrive in the cloud.
  4. Approve schema — claim + approve in Omega.
  5. Query data — as above.
With default governance policy, the first batch from a new table triggers a schema review and the lineage enters paused until you approve. The device can keep sending; the cloud stages rows server-side during review (both telemetry and row-batch pipelines).

Documentation map

Concepts

Edge agent

Operations

Wire protocol (integrators)

Normative spec in source: ilyama edge-client-guide.

Current limitations

Document these when planning production rollouts: See Troubleshooting for operational workarounds.