Skip to main content
After you create a sync policy and download a bundle from the Golain console, deploy the Omega agent on your device. The agent runs the sqlite-replication module and connects to Golain over MQTT. Repository: golain-io/omega-rs

Architecture

Console owns policy definition and packaging. Omega agent owns runtime replication — watching the source database, publishing batches, and listening for cloud control messages. Golain cloud owns materialization — lineages, schema reviews, and mirror tables appear in the console after ingest.

Prerequisites

  • Completed Omega console setup — policy attached, bundle downloaded
  • Network path to the MQTT broker (TLS or QUIC per your certificate)
  • Application SQLite database on the device

Step 1 — Download the Omega binary

  1. Unzip the console bundle on the device.
  2. Open OMEGA_DOWNLOAD_URL.txt and download the binary for your selected channel (stable, latest, or dev) and architecture.
  3. Make it executable:
You can also build from source: cargo build --release -p omega-agent in the omega-rs repository.

Step 2 — Place certificates

Copy certificate files to the paths referenced in omega-config.yaml. The console bundle defaults to:

Step 3 — Configure the source database path

Edit omega-config.yaml and set sqlite-replication.source_db_path to your application’s SQLite file:
Default paths in the bundle are /var/lib/omega/source.db and /var/lib/omega/state.db. Create the directories if needed.

Step 4 — Start the agent

For development from source:
For production, install as a systemd service and point the unit at your config path. → Deploy Omega

Generated config reference

A typical console-generated config:

Agent modules enabled by the bundle

Online/offline status is driven by the MQTT session keepalive (the broker tears down a session at ~1.5× connection.mqtt.keep_alive with no traffic), so no separate liveness module is needed. → Full field reference: Configuration

MQTT topics

Topics are prefixed with connection.root_topic from the bundle. Example root: devices/acme/edge-01/device-data Topics and connection · Downlink control

Step 5 — Verify

  1. Fleet & Devices — device status shows connected.
  2. Omega → Governance → Lineages — one lineage per replicated table.
  3. Schema Reviews — approve queued reviews for new tables. → Schema review workflow
  4. Query data — after approval, use dashboards or the API. → Querying synced data

Troubleshooting (agent)

Verification checklist

  • Agent connected (check logs / device status in console)
  • MQTT ACL allows publish on {root}/sync/# and subscribe on {root}/sync/ingest/control
  • Source DB is receiving writes
  • Internal __omega_journal table exists after bootstrap — do not modify
  • Console Lineages shows entries for configured tables
  • Schema reviews appear when schema changes

Internal tables (do not replicate)

The agent creates and manages these. Console schema upload excludes them automatically:
  • __omega_journal, __omega_journal_seq — change capture
  • __omega_db_instance — database swap detection
Troubleshooting

Alternative: build and configure by hand

If you prefer to build the binary and write the profile yourself rather than download a console bundle, see Omega setup for SQLite sync — it covers the sqlite-replication module and its config section end to end.

Omega in the console

Create policies, attach devices, download bundles.

Capture strategies

Rows vs telemetry vs ignore in depth.

Provisioning checklist

Pre-flight checklist before first sync.