Skip to content

Admin: Fleet Management

Fleet Management ("Admin Device Management", /admin/fleet) is where an Admin or Super-User runs actions across many devices at once — rotating certificates, pushing firmware, or applying a config preset — instead of visiting each device individually. It's reached from the admin navigation menu; both roles — Admin and Super-User — can use it.

Admin Device Management — device table with checkboxes and the batch action toolbar

The screen has two tabs, switched from the toggle next to the title:

  • Devices — the searchable/filterable/sortable fleet table with bulk-action selection (see below).
  • Statistics — fleet-wide counts: Total, Online, Offline, and Rotation Pending, a certificate-status breakdown (Healthy / Warning / Critical / Expired / Unknown), and breakdowns by device type and by organization.

Bulk operations

The Devices tab lists every device with columns for ID, Name, Org, Status, Last Seen, Cert Expiry, and Firmware — click any column heading to sort by it. Above the table, a search box (matches device ID, name, or location), an "All Organizations" filter, and an "All Cert Status" filter (Healthy 90+ days / Warning 30–90 days / Critical <30 days / Expired / Unknown) narrow down the list.

Tick the checkbox on any row, or the header checkbox to select/deselect all currently filtered devices. A live "N device(s) selected" count and a Clear button appear once you have a selection. The toolbar's three bulk-action buttons — Rotate Certificates, Push OTA, Apply Config — stay disabled until at least one device is selected.

Each button opens a shared confirmation dialog listing every affected device (with an online/offline dot next to each) — nothing runs immediately on click.

Certificate-status shortcut

On the Statistics tab, the "Critical (<30 days)" certificate badge has its own Rotate All button — a shortcut that auto-selects every online device with a certificate expiring within 30 days and opens the same rotate-certificates confirmation.

Rotate certificates

Confirming Rotate Certificates triggers certificate rotation for every selected device, run with bounded concurrency (up to 12 in flight at a time) so a large selection doesn't stall on a slow or unreachable unit. Offline devices are skipped — the confirmation dialog warns "Note: Offline devices will be skipped" before you confirm.

When it finishes you get a summary banner, e.g. "Batch rotation complete — Success: N, Failed: M"; devices that failed are listed so you can see which ones need attention.

OTA firmware updates

Confirming Push OTA looks up each selected device's firmware group (beta/production) and the latest available version for that group, then creates an OTA job for any device that isn't already up to date. Devices already on the latest version are skipped automatically rather than failing. The current latest PROD and BETA versions are shown at all times in the toolbar for reference.

As with certificate rotation, offline devices are skipped, and the batch runs with bounded concurrency rather than one device at a time. The result summary breaks out all three outcomes, e.g. "Updated: N, Already up to date: M, Failed: K".

Apply config to existing units

Confirming Apply Config requires picking a config preset before you can proceed — the confirm button stays disabled until you do. If your selected devices span more than one organization, you're also asked to pick which organization's preset list to draw from — a note explains that "the preset applies to all selected devices regardless of org (relay config only, no org change)". This bulk action never allocates or moves devices between organizations, even if the preset you pick has its own "allocate to" organization set — it only writes relay configuration.

Larger selections are sent in chunks of 20 devices per call (the underlying apply-preset API's per-call limit) rather than one request per device or one giant request. Offline devices aren't skipped here — instead the dialog notes: "Offline devices apply on their next connect (rlyCfgV bump)" — the config is queued and takes effect the next time the device connects.

The result banner reports counts the same way, e.g. "Applied: N, Failed: M (deviceId: reason, ...)", showing a short sample of failure reasons inline.

For a single device or a single organization

If you only need to configure devices within one organization, Config Presets offers the same Apply flow scoped to that org's device list, plus preset create/edit (Super-User) and the org-move confirmation when a preset has a target organization.