Files
gilles 08919752e3 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>
2026-06-05 19:50:25 +02:00
..

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 :

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 :

cargo run --features gui -- gui

Avec un serveur précis :

cargo run --features gui -- --server http://10.0.1.137:8787 gui

Pré-requis pour le futur incrément GTK/libadwaita :

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.