infra: copie vérifiée des sauvegardes hors du serveur #93

Merged
florian merged 1 commit from lenaic/92-copie-hors-serveur into develop 2026-09-02 14:50:30 +00:00
Owner

Les sauvegardes tournaient mais ne quittaient jamais la machine. Une perte du conteneur emportait le dépôt, les tickets, les bases et leurs sauvegardes d'un seul coup.

Ce que ça apporte

Une copie quotidienne, planifiée à 18h30 du lundi au vendredi, qui rapatrie les deux jeux en une seule connexion : les vidages de la forge et ceux de PostgreSQL. Rétention de quatorze jours côté poste, contre sept côté serveur.

Surtout, elle vérifie au lieu de compter. Lecture de l'archive, présence de forgejo-db.sql, des dépôts, des données et de la configuration, en-tête PGDMP sur chaque vidage de base, intégrité des rôles du cluster. Une copie qui échoue à un seul contrôle sort en erreur et se déclare non fiable.

Ce que la vérification a trouvé du premier coup

Le manuel annonçait gitea-db.sql et gitea-repo/. Ce sont les noms de l'ancêtre du projet : Forgejo 12 écrit forgejo-db.sql et repos/. Quelqu'un qui aurait suivi le manuel pour contrôler une sauvegarde aurait conclu qu'elle était vide alors qu'elle est complète, 25 Mo et 2 406 fichiers. Corrigé.

Ce que ça ne résout pas

Les deux machines sont dans la même salle et tombent ensemble. C'est un filet, pas une sauvegarde hors site. La vraie réponse est le stockage de secours cloud du #69, qui reste ouvert, et le manuel le dit explicitement.

Restent deux critères du #92 : la restauration jouée et chronométrée, et le recâblage des scripts d'administration qui passaient par root.

Les sauvegardes tournaient mais ne quittaient jamais la machine. Une perte du conteneur emportait le dépôt, les tickets, les bases et leurs sauvegardes d'un seul coup. ## Ce que ça apporte Une copie quotidienne, planifiée à 18h30 du lundi au vendredi, qui rapatrie les deux jeux en une seule connexion : les vidages de la forge et ceux de PostgreSQL. Rétention de quatorze jours côté poste, contre sept côté serveur. Surtout, elle **vérifie** au lieu de compter. Lecture de l'archive, présence de `forgejo-db.sql`, des dépôts, des données et de la configuration, en-tête `PGDMP` sur chaque vidage de base, intégrité des rôles du cluster. Une copie qui échoue à un seul contrôle sort en erreur et se déclare non fiable. ## Ce que la vérification a trouvé du premier coup Le manuel annonçait `gitea-db.sql` et `gitea-repo/`. Ce sont les noms de l'ancêtre du projet : Forgejo 12 écrit `forgejo-db.sql` et `repos/`. Quelqu'un qui aurait suivi le manuel pour contrôler une sauvegarde aurait conclu qu'elle était vide alors qu'elle est complète, 25 Mo et 2 406 fichiers. Corrigé. ## Ce que ça ne résout pas Les deux machines sont dans la même salle et tombent ensemble. C'est un filet, pas une sauvegarde hors site. La vraie réponse est le stockage de secours cloud du #69, qui reste ouvert, et le manuel le dit explicitement. Restent deux critères du #92 : la restauration jouée et chronométrée, et le recâblage des scripts d'administration qui passaient par `root`.
infra: copie vérifiée des sauvegardes hors du serveur
All checks were successful
Intégration / Qualité du code Python (pull_request) Successful in 12s
Intégration / Tests unitaires et couverture (pull_request) Successful in 12s
Intégration / Dépendances du tableau de bord (pull_request) Successful in 9s
Intégration / Images épinglées par version (pull_request) Successful in 3s
Intégration / Aucun secret commité (pull_request) Successful in 3s
Intégration / Dépendances Python et inventaire applicatif (pull_request) Successful in 44s
809d940698
Les sauvegardes tournaient mais ne quittaient jamais la machine : une
perte du conteneur emportait le dépôt, les tickets, les bases et leurs
sauvegardes ensemble.

Le script rapatrie les deux jeux en une passe et les vérifie plutôt que
de se contenter de les compter : lecture de l'archive de la forge,
présence de forgejo-db.sql et des dépôts, en-tête PGDMP de chaque vidage,
intégrité des rôles du cluster. Une copie qui échoue à un contrôle est
déclarée non fiable et sort en erreur.

Corrige au passage le manuel, qui annonçait gitea-db.sql et gitea-repo/,
noms hérités de l'ancêtre du projet. Forgejo 12 écrit forgejo-db.sql et
repos/, ce que la première vérification a mis au jour.
Member

LGTM

LGTM
florian approved these changes 2026-09-02 14:50:13 +00:00
florian merged commit 91d4adc660 into develop 2026-09-02 14:50:30 +00:00
florian deleted branch lenaic/92-copie-hors-serveur 2026-09-02 14:50:30 +00:00
florian added this to the EnerVision project 2026-09-02 14:50:52 +00:00
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
g2/enervision!93
No description provided.