feat: socle BDD (tâche 1.9 Phase 1-2) + moteur APT (tâche 2 SJ-0→3) + WIP capabilities/auth/Rust
Checkpoint multi-chantiers (arbre vert : tsc 0 erreur, 70 tests, build OK). - tâche 1.9 Phase 1 : schéma socle (machine_state/events/reports/raw_artifacts/ hardware/metrics + colonnes étendues) + wiring refresh/execute. Migration 0002. - tâche 1.9 Phase 2 : machine_credentials + machine_host_keys (non destructif, dual-read + backfill). Migration 0003. Fix séquence journal de migration. - tâche 2 : SJ-0 (types étendus rétro-compatibles, réducteur Docker, resolveTemplate), SJ-1 (update-analyze enrichi), SJ-2 (apply + diff dpkg + timeout inactivité SSH), SJ-3 (reboot vérifié boot_id). - WIP parallèle inclus : /api/capabilities, auth/apiTokens/apiClients, system metrics, scaffold app_rust, ajustements frontend. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# system-update-gnome
|
||||
|
||||
Scaffold de l'application locale Rust/GNOME pour `system_update`.
|
||||
|
||||
Ce sous-dossier est volontairement dédié au développement de l'application Rust :
|
||||
|
||||
- backend/webapp : racine du projet, `server/`, `client/`, `shared/` ;
|
||||
- application Rust/GNOME : `app_rust/system-update-gnome/` ;
|
||||
- artefacts Cargo : `app_rust/system-update-gnome/target/`, ignoré par Git.
|
||||
|
||||
État actuel :
|
||||
|
||||
- client CLI minimal ;
|
||||
- aucune dépendance externe pour garder le premier build vérifiable sans accès réseau ;
|
||||
- test de connexion HTTP vers `GET /api/capabilities` ;
|
||||
- stratégie token séparée dans `src/token_store.rs` ;
|
||||
- première UI GTK/libadwaita derrière la feature Cargo `gui`.
|
||||
|
||||
Exemples :
|
||||
|
||||
```bash
|
||||
cargo run -- --server http://127.0.0.1:8787 capabilities
|
||||
cargo run -- --server http://127.0.0.1:8787 status
|
||||
cargo run -- --server http://127.0.0.1:8787 metrics
|
||||
cargo run -- --server http://127.0.0.1:8787 machines
|
||||
SYSTEM_UPDATE_SERVER=http://127.0.0.1:8787 cargo run -- capabilities
|
||||
```
|
||||
|
||||
Interface graphique :
|
||||
|
||||
```bash
|
||||
cargo run --features gui -- gui
|
||||
```
|
||||
|
||||
Avec un serveur précis :
|
||||
|
||||
```bash
|
||||
cargo run --features gui -- --server http://10.0.1.137:8787 gui
|
||||
```
|
||||
|
||||
Pré-requis pour le futur incrément GTK/libadwaita :
|
||||
|
||||
```bash
|
||||
sudo apt install libgtk-4-dev libadwaita-1-dev
|
||||
```
|
||||
|
||||
Règles :
|
||||
|
||||
- l'application ne fait pas de SSH direct ;
|
||||
- les credentials machines restent côté backend ;
|
||||
- les actions passent par l'API du serveur ;
|
||||
- le token local sera stocké via trousseau système dans un incrément suivant.
|
||||
|
||||
Voir aussi :
|
||||
|
||||
- `docs/token-storage.md`.
|
||||
Reference in New Issue
Block a user