| ID | product.device_management.ota_service.targeting_engine |
|---|---|
| Description | Selects devices for the next batch. |
| Key | targeting_engine |
| Type | component |
| Team | Device Management |
| Owner | device-mgmt@iotgateway.example |
| Status | active |
| Technologies | Go |
| Attributes | selector: cohort query DSL |
| Tags |
The Targeting Engine evaluates a campaign’s cohort_query against the live
fleet and, stage by stage, hands the OTA service the next batch of device IDs
to offer the update to.
The saved selector (e.g.
group:eu AND model:gw-300The current stage percent (1% → 10% → 50% → 100%) caps how many of the resolved cohort are released in this batch.
Devices already updating, or that failed an earlier stage, are excluded so each device is only offered the update once per stage.
Targeting is deterministic given a campaign and stage, so a paused campaign resumes exactly where it left off.
1 incoming link · 1 outgoing link
| Source object | Label | Link type | Relation | Raw id | Required | Description | |
|---|---|---|---|---|---|---|---|
| gates rollout via | — | links | product.device_management.ota_service.targeting_engine | — | — |
| Target object | Label | Link type | Relation | Raw id | Required | Description | |
|---|---|---|---|---|---|---|---|
Campaign Repository example-iot.product.device_management.ota_service.campaign_repo component:database | selects devices from | — | links | product.device_management.ota_service.campaign_repo | — | — |