BetterFrame/server/src
Mitchell R 90346f4efd
feat(os-ota-ui): admin pages for OS releases + rollouts + per-kiosk panel
Mirrors the kiosk-firmware admin shape one-for-one against OS RAUC
bundles:

  /admin/os-updates                   release list, yank
  /admin/os-updates/rollouts          rollout list + create
  /admin/os-updates/rollouts/:id/state pause/resume/complete
  /admin/kiosks/:id/os-update         per-kiosk channel + pin

Templates: OsUpdatePage, OsUpdateRolloutsPage, KioskOsUpdatePanel.
KioskOsUpdatePanel is rendered next to the existing KioskFirmwarePanel
on the kiosk detail page so OS + app state sit side-by-side. The
"how bundles get here" sidebar on the list page documents the four
GitHub secrets needed (signing cert/key + autoimport URL/key) so a
new operator doesn't have to dig through scripts/ to find them.

Nav gains an OS Updates entry between Firmware and Labels. Activates
on activeNav="os-updates".

Repo + import endpoint already existed (audit confirmed earlier). All
admin routes use them as-is.
2026-05-21 11:30:33 +02:00
..
plugins feat(os-ota-ui): admin pages for OS releases + rollouts + per-kiosk panel 2026-05-21 11:30:33 +02:00
schemas fix(bundle): synthesize stream for any camera with rtsp_url 2026-05-21 09:23:50 +02:00
scripts feat(layout): add branded none cells 2026-05-11 09:38:50 +02:00
shared feat(os-ota-ui): admin pages for OS releases + rollouts + per-kiosk panel 2026-05-21 11:30:33 +02:00
web-static feat(layout): add branded none cells 2026-05-11 09:38:50 +02:00
web-templates feat(os-ota-ui): admin pages for OS releases + rollouts + per-kiosk panel 2026-05-21 11:30:33 +02:00