Add authenticated device registration for USB intake
Some checks failed
Tests / postgres (push) Has been cancelled

This commit is contained in:
2026-10-11 22:19:57 +02:00
parent 7d1d8f0fde
commit e2870c2fda
7 changed files with 241 additions and 2 deletions

18
docs/usb-appliance.md Normal file
View File

@@ -0,0 +1,18 @@
# Eigenständiger USB-Stick
Das USB-Projekt liegt separat in **`../USB-Intake`** neben diesem Repository.
Die vollständige Anleitung steht in [USB-Intake/README.md](https://git.computerspende-regensburg.de/denis.stoecklmeier/USB-Intake).
Auf dem Arch-Linux-Rechner im USB-Projektordner:
```bash
sudo bash make-usb.sh /dev/sdb --erase
```
Der Befehl baut das Image und überschreibt den geprüften USB-Datenträger.
Beim ersten Boot werden Server-IP/HTTPS-Adresse und API-Schlüssel abgefragt.
Danach laufen Hardwareprüfung und Upload automatisch; ohne Verbindung bleiben
Berichte auf dem Stick für späteres Senden gespeichert.
Dieses Inventory-Repository enthält weiterhin die API-Erweiterung einschließlich
Migration `0013_deviceregistration`, die auf dem Server bereitgestellt werden muss.

13
docs/usb-intake.md Normal file
View File

@@ -0,0 +1,13 @@
# USB-Erfassung
Die eigenständige USB-Anwendung und alle Build-/Installationswerkzeuge wurden
nach [USB-Intake](https://git.computerspende-regensburg.de/denis.stoecklmeier/USB-Intake) neben diesem Repository verschoben.
Sie startet direkt vom Stick, fragt Server und API-Schlüssel ab und führt
Prüfung plus Upload/Offline-Speicherung automatisch aus.
Für manuelle Diagnose enthält das separate Projekt weiterhin `intake.py` mit den
Unterbefehlen `collect`, `choices` und `upload` (`python3 intake.py --help`).
Die zugehörige Server-API bleibt in diesem Repository. Migration `0013` speichert
Upload-Belege, sodass wiederholte Uploads desselben Berichts keine weiteren Geräte
erstellen. Benötigt wird ein aktiver API-Schlüssel mit Lese- und Schreibrecht.