blancco: live erase progress on the /imaging dashboard

Each Blancco PC now gets a tile on /imaging, keyed by BIOS serial with
pctype "blancco", using the /imaging/status endpoint the WinPE clients
already post to (stage_total 7):

  1 Downloading Blancco, 2 Starting Blancco   (blancco-init.sh, wget)
  3 Waiting for licence / Licence OK (N left)
  4 Erasing: step N - <step> [NN%]
  5 Erasure finished / Report saved
  6 Report sent to cloud
  7 Done (succeeded), or Erasure FAILED (failed, sticks)

playbook/blancco-progress.py follows the AlbusSeven journal inside the
Blancco rootfs and maps its lines to those stages; patterns taken from
a real 7.20 auto-mode run and replayed with --replay/--dry-run, plus a
synthetic failed step. Init fetches it from the web root at boot and
installs it as blancco-progress.service; the playbook deploys it there.
The report copier adds a "Report copied to share" log line. Stage 1
resets a finished tile for the same serial. All posts are best effort.
This commit is contained in:
cproudlock
2026-10-05 12:50:40 -04:00
parent a97faf9fad
commit 19049e6b1f
3 changed files with 215 additions and 0 deletions

View File

@@ -993,6 +993,14 @@
dest: "{{ web_root }}/blancco/preferences.xml"
mode: '0644'
# blancco-init.sh fetches this at boot and runs it as a service in the
# Blancco rootfs: erase progress for the webapp's /imaging dashboard.
- name: "Deploy Blancco progress reporter"
copy:
src: "{{ usb_root }}/playbook/blancco-progress.py"
dest: "{{ web_root }}/blancco/blancco-progress.py"
mode: '0644'
# Hard gate: blancco-init.sh in initramfs drops to shell if the served
# preferences.xml is malformed or missing the SMB target. Fail the
# playbook here too so the problem surfaces at deploy time, not at the