feat: implement update backend API and client logic

Add complete update mechanism for client-side updates:
- backend/update.py: Core update logic (check, apply, rollback, status/logs)
- backend/app.py: REST API endpoints (GET /update/status, POST /update/check, POST /update/apply, POST /update/rollback, GET /update/logs)
- backend/models.py: Pydantic models for update API responses
- backend/settings.py: Update config (status/log file paths)
- scripts/rollback_client.sh: Rollback script for failed updates
- scripts/update_client.sh: Enhanced update client script
- CLAUDE.md: Documentation for future Claude Code instances

Complete US_000026-028 and TASK_000027-029:
- US_000026: Client pulls updates from remote service
- US_000027: Client verifies and applies updates atomically
- US_000028: Client reports update status to backend

All endpoints require authentication. Updates run asynchronously.
Documentation updated per SOP (CHANGELOG, PROJECT_STATUS, stories/tasks).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-30 11:18:34 +01:00
parent b64cc5981c
commit 107cdabe8d
15 changed files with 530 additions and 19 deletions

View File

@ -86,12 +86,12 @@ Sicheres, remote steuerbares System zum Sperren/Entsperren lokaler Nutzerkonten.
- [x] TASK_000023: README runbook notes
### EPIC_000008: Client-Side Update Mechanism
- [ ] US_000026: Client bezieht Updates (Pull)
- [ ] TASK_000027: Update endpoint config
- [ ] US_000027: Client verifiziert und wendet Updates an
- [ ] TASK_000028: Verify and apply update
- [ ] US_000028: Client meldet Update-Status
- [ ] TASK_000029: Report update status
- [x] US_000026: Client bezieht Updates (Pull)
- [x] TASK_000027: Update endpoint config
- [x] US_000027: Client verifiziert und wendet Updates an
- [x] TASK_000028: Verify and apply update
- [x] US_000028: Client meldet Update-Status
- [x] TASK_000029: Report update status
- [ ] US_000029: Update-Status im Web-UI anzeigen
- [ ] TASK_000030: UI update status view
- [ ] US_000030: Update-Check im Web-UI ausloesen