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>
24 lines
705 B
Markdown
24 lines
705 B
Markdown
ID: TASK_000028 | Version: 0.1.0 | Status: Done
|
|
By: Codex (GPT-5)
|
|
|
|
# TASK_000028: Verify and apply update
|
|
|
|
## Outcome
|
|
Update-Artefakt wird verifiziert und atomar angewendet.
|
|
|
|
## Story-Bezug
|
|
US_000027
|
|
|
|
## Beschreibung
|
|
- JSON-Manifest lesen (Version, `artifact_url`, `sha256`, optional `sig_url`).
|
|
- `tar.gz` herunterladen und SHA256 pruefen.
|
|
- Update atomar anwenden (staging, swap, rollback).
|
|
- Fehlerfall dokumentieren (Rollback, Status).
|
|
- Ablauf dokumentiert in `docs/update-client.md`.
|
|
|
|
## Definition of Done (DoD)
|
|
- Verifikation (Checksum/Signatur) ist beschrieben.
|
|
- Atomare Anwendung und Rollback-Strategie sind definiert.
|
|
- Fehlerbilder sind erfasst.
|
|
- Prototyp-Skript ist als Referenz vorhanden.
|