Fund beim Vorbereiten der AD/OIDC/Fileserver-Merkmale (10.09.2026): resolve_katalog_overrides() selektierte nie die optionen-Spalte aus oe_merkmale/gruppen_merkmale, obwohl set_oe_auswahl()/set_gruppe_auswahl() sie langst speichern konnten - nur device_merkmale.optionen erreichte je ein Geraet. Da die Geraete-Einzel-Ebene laut Entscheidung vom 09.09.2026 nicht der vorgesehene Ort fuer Merkmal-Konfiguration ist (siehe project_phase2_app_store_merkmale-Memory), waere OE-/Gruppen-seitig gesetzte Konfiguration (z.B. eine AD-Domaene) nie beim Geraet angekommen. resolve_katalog_overrides() liefert jetzt (aktiv, quelle, quelle_id, optionen) statt nur (aktiv, quelle, quelle_id) - beide Aufrufer (fetch_auftragskatalog_state fuer den Agenten, fetch_auftragskatalog_listing fuer die Kundenportal-Anzeige) angepasst. Zusaetzlich neue At-Rest-Verschluesselung fuer optionen-Werte, deren Key auf _passwort/_password/_secret/_token endet (Namenskonvention statt Allowlist - neue Merkmale mit einem Zugangsdaten-Feld brauchen nur den passenden Key-Namen, keine Codeaenderung). Gleiches Fernet-Muster wie kundenplattform/encryption.py fuer den WLAN-PSK, aber eigenes Modul/eigener Schluessel (TUXFLOTTE_ENCRYPTION_KEY) - provisioning-server muss bei jedem Agent-Checkin entschluesseln koennen, anders als der einmalige ISO-Build- Transfer dort. Kundenportal-Katalog-Listing zeigt sensible Werte nur als maskierten Boolean (mask_sensitive_optionen()), nie im Klartext oder auch nur verschluesselt im Browser. Neue Abhaengigkeit: cryptography==50.0.0 (gleiche Version wie kundenplattform), TUXFLOTTE_ENCRYPTION_KEY live auf anode gesetzt. ECHT gegen die laufende Produktions-Datenbank getestet (nicht nur Syntax-Check): OE-Ebene (verschluesselter Roh-DB-Wert, korrekter Klartext im Agent-Checkin-Pfad, korrekt maskiert im Listing-Pfad) UND Geraete-Ebene als Regressionstest (bestehender, meistgenutzter Pfad funktioniert unveraendert weiter) - beide bestanden, Testdaten wieder entfernt. Voraussetzung fuer die anstehenden AD/OIDC/Fileserver-Merkmale (siehe project_phase2_app_store_merkmale-Memory), die auf OE-/Gruppen-Ebene mit echten Zugangsdaten konfiguriert werden sollen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLk93dhDMrkPXefVdknMV9
16 lines
278 B
Plaintext
16 lines
278 B
Plaintext
annotated-doc==0.0.4
|
|
annotated-types==0.7.0
|
|
anyio==4.13.0
|
|
click==8.4.1
|
|
cryptography==50.0.0
|
|
fastapi==0.136.3
|
|
h11==0.16.0
|
|
idna==3.18
|
|
pydantic==2.13.4
|
|
pydantic_core==2.46.4
|
|
starlette==1.3.1
|
|
typing-inspection==0.4.2
|
|
typing_extensions==4.15.0
|
|
uvicorn==0.49.0
|
|
psycopg[binary]==3.3.4
|