Rust — jauge de stockage : collecte, historique et projection (STUD-1238) #1654

Merged
hermes-fusion merged 1 commit from hermes/jauge-stockage-rust into main 2026-10-15 09:55:03 +02:00
Collaborator

Carte t_cf4a09cb (STUD-1238).

Nouveau champ d'API : /api/processus gagne stockage (bloc de tete, identique a donnees.stockage) — le front peut le lire ; a signaler a svelte.

Ce que la PR apporte :

  • le collecteur publie un bloc stockage dans son releve : releve, volumes (statvfs sur / et /mnt/shared du 130), pools (thin pve/data, mesure en LECTURE SEULE sur l'hote Proxmox par une commande parametrable STOCKAGE_PVE_CMD, remesuree au plus toutes les 5 min), et erreurs ;
  • le service du 132 y ajoute son propre systeme de fichiers (LXC 132), la croissance par semaine, plein_dans_semaines, le niveau (ok / avertissement a 75 / danger a 90), stockage.alertes, et tient l'historique quotidien /var/lib/service-tableau/stockage.json (premiere lecture du jour et du volume, ecriture par renommage) ;
  • une mesure manquee ne fait pas tomber le releve : elle porte erreur et se retrouve dans stockage.erreurs.

Bancs : cargo test --release --locked (63 cas, dont 8 nouveaux dans collecteur/tests/stockage.rs et 6 dans service/tests/stockage.rs), plus cargo build --release --locked sans avertissement. Fixture lvs de l'hote et STOCKAGE_STATVFS_FAUX : aucune mesure ne depend d'une commande au moment du banc. Chaine complete verifiee hors machines : collecteur -> service -> /api/processus, historique ecrit.

Non mesure : la mesure reelle du pool sur le Proxmox (aucune cle ssh depuis le PC : Permission denied (publickey,password)).

Carte t_cf4a09cb (STUD-1238). **Nouveau champ d'API : `/api/processus` gagne `stockage`** (bloc de tete, identique a `donnees.stockage`) — le front peut le lire ; a signaler a svelte. Ce que la PR apporte : - le collecteur publie un bloc `stockage` dans son releve : `releve`, `volumes` (statvfs sur `/` et `/mnt/shared` du 130), `pools` (thin `pve/data`, mesure en LECTURE SEULE sur l'hote Proxmox par une commande parametrable `STOCKAGE_PVE_CMD`, remesuree au plus toutes les 5 min), et `erreurs` ; - le service du 132 y ajoute son propre systeme de fichiers (`LXC 132`), la croissance par semaine, `plein_dans_semaines`, le `niveau` (ok / avertissement a 75 / danger a 90), `stockage.alertes`, et tient l'historique quotidien `/var/lib/service-tableau/stockage.json` (premiere lecture du jour et du volume, ecriture par renommage) ; - une mesure manquee ne fait pas tomber le releve : elle porte `erreur` et se retrouve dans `stockage.erreurs`. Bancs : `cargo test --release --locked` (63 cas, dont 8 nouveaux dans `collecteur/tests/stockage.rs` et 6 dans `service/tests/stockage.rs`), plus `cargo build --release --locked` sans avertissement. Fixture `lvs` de l'hote et `STOCKAGE_STATVFS_FAUX` : aucune mesure ne depend d'une commande au moment du banc. Chaine complete verifiee hors machines : collecteur -> service -> `/api/processus`, historique ecrit. Non mesure : la mesure reelle du pool sur le Proxmox (aucune cle ssh depuis le PC : `Permission denied (publickey,password)`).
Stockage : la jauge de l'onglet Processus (collecte, historique, projection) — STUD-1238
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Has been cancelled
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Has been cancelled
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Has been cancelled
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Has been cancelled
1375737c4d
Le relevé du Processus ne disait rien de la place qui reste : le pool thin `pve/data`
et le volume partagé se remplissent sans que le tableau le montre, et une saturation
n'était visible qu'en ssh sur l'hôte. Cause : aucune mesure de stockage dans le JSON
du collecteur, donc rien à afficher, rien à historiser, rien à projeter.

Remède : le collecteur publie un bloc `stockage` (systèmes de fichiers du 130 par
`statvfs`, pool `pve/data` mesuré en lecture seule sur l'hôte Proxmox par une commande
paramétrable, remesurée au plus toutes les cinq minutes) ; le service du 132 y ajoute
son propre système de fichiers, la croissance par semaine, « plein dans N semaines »
et le niveau 75 / 90, tient l'historique quotidien (`/var/lib/service-tableau/stockage.json`,
première lecture du jour et du volume, écrite par renommage) et sort le bloc en champ
de tête de `/api/processus`. Une mesure manquée porte `erreur` au lieu de faire tomber
le relevé. Bancs : `collecteur/tests/stockage.rs` (fixture `lvs` de l'hôte,
`STOCKAGE_STATVFS_FAUX`), `service/tests/stockage.rs`.
hermes-bot force-pushed hermes/jauge-stockage-rust from 1375737c4d
Some checks failed
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Has been cancelled
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Has been cancelled
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Has been cancelled
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Has been cancelled
to f9ce7def31
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 15s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 12s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 17s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 12s
2026-10-14 22:02:21 +02:00
Compare
Collaborator

fusion-auto : pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.

`fusion-auto` : pas de fusion, la PR est en conflit avec main : à rebaser. Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.
hermes-bot force-pushed hermes/jauge-stockage-rust from f9ce7def31
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 15s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 12s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 17s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 12s
to c336e879ad
All checks were successful
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 4m4s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 1m23s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (push) Successful in 4m4s
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (push) Successful in 1m23s
2026-10-15 09:39:40 +02:00
Compare
hermes-fusion deleted branch hermes/jauge-stockage-rust 2026-10-15 09:55:03 +02:00
Collaborator

Fusionnée automatiquement par fusion-auto (forge) : CI verte (Rust et Front Svelte), PR relue (étiquette relu), sans conflit.

Fusionnée automatiquement par `fusion-auto` (forge) : CI verte (Rust et Front Svelte), PR relue (étiquette `relu`), sans conflit.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/studio!1654
No description provided.