1. Register device in Golain
- Create or select project and fleet
- Add device with chosen name (e.g.
gw-warehouse-07) - Note device name — this becomes
OMEGA_DEVICE_IDand MQTT client identity - Note project topic slug (if configured) for
OMEGA_ROOT_TOPIC
2. Issue MQTT credentials
Choose one path:mTLS certificate (recommended production)
- Issue device certificate via cert worker / console certificates UI
- Save CA, client cert, and key to device filesystem
- Set
OMEGA_TLS_*_PATHenv vars
Username/password
- Copy MQTT username/password from device MQTT details
- Set
OMEGA_MQTT_USERNAME/OMEGA_MQTT_PASSWORD
JITR bootstrap (ilyama)
- Obtain fleet bootstrap certificate
- Configure
connection.jitrin client YAML - On first run Omega calls JITR API → stores device cert
3. Configure root topic
Pattern:- With slug:
acme-prod/gw-warehouse-07 - Without slug:
/gw-warehouse-07(leading slash, no slug segment)
OMEGA_ROOT_TOPIC to match broker ACL provisioning.
Sync topics are then:
4. Prepare SQLite database
- Application database path known (
OMEGA_SOURCE_DB_PATH) - Tables have PRIMARY KEY defined
- Plan for post-start mutations (pre-existing rows won’t sync without snapshot)
5. Build and deploy Omega
-
cargo build --release -p omega-agent(SQLite sync is the default feature) (build guide) - Ship
omega-agent+omega-launcherand the profile; install as a service withomega-agent install-service(deploy guide) - Set the profile’s
*_envvalues in the service unit or env file -
clean_session: falseinconnection.mqttif you want the broker to queue while the device is offline
6. Verify connectivity
- Device shows connected in console
- MQTT events in platform-tui:
7. Verify ingest
- platform-tui → Omega → Lineages — one lineage per replicated table
- Segment accepted (no permanent reject loop)
- Schema review queued for new tables (expected)
8. Complete governance
- Claim and approve schema review
- Staged rows drain after approve
- Written view shows mirror rows (
win TUI)
9. Production hardening
-
signed_control.enabled: true - TLS verify-full with correct CA
-
state.dbon persistent volume - Monitor lineage paused events
- Document column actions for each table schema version