Canary boards — device ids resolved to the release-canary branch
Keep the canary set SMALL (ideally one board): a bad tip's blast radius is exactly this list. Everything else is fleet.
Boards seen on the mirror
Only boards that pull from this mirror appear here (one row per board that has polled). Give each a friendly name — it shows next to the id everywhere. A name is display-only (it does NOT rename the board or move its cloud history — use “Device ID rename” for that).
Friendly name
Device id
Serial
Channel
Last seen
Actions
Cut canary
Signed release cut from latest main → release-canary. Runs release-cut.sh on the VPS.
Promote
Promote the proven canary tip to the fleet channel. Runs promote.sh.
Sync models
Sync model blobs to the mirror. Runs sync-models.sh.
Boards
Device
Channel
Channel version
loading…
Models
Name
Size
Modified
loading…
Mirror
—
loading…
Release history · canary
Commit
When
Signed
Subject
loading…
Release history · fleet
Commit
When
Signed
Subject
loading…
Models — present on mirror vs. board manifests
Model
Role
Boards
Status
Size
Modified
loading…
Labeling
—
Run
Frames
Labeled
Review
Curated
Actions
loading…
Job log
———
No job output yet. Run an action above; live output appears here.
Device ID rename
admin only · over the mesh
Renaming a board's DEVICE_ID re-attributes its cloud rows from that instant. Coordinate with a tools/deviceid_migrate run (freeze window) so the site analytics timeline stays continuous. The board applies it fail-safe on its next agent tick and restarts its backend once.
Serial
Assigned DEVICE_ID
loading…
Users
admin only
Username
Role
Status
Last login
Actions
loading…
Audit log
admin only · last 100
When
User
Action
Details
Result
loading…
Confirm
Sign in
Sign in to the NVR fleet console with your account.
Break-glass: admin token
Recovery only — the token in
/etc/nvr-fleet-ui/token (or open …/?token=<token> once).