[infra] Envoi quotidien de l'archive agrégée vers le stockage de secours #71

Open
opened 2026-09-02 09:04:22 +00:00 by gabriel · 0 comments
Member

Exigence couverte

ENF-05, ENF-03

Épreuve servie

EC04 · Cloud et sécurisation

Charge estimée

1 j.h

Ce qu'on veut obtenir

Une copie hors-site de l'archive agrégée quotidienne, la seule donnée qui a le droit de sortir de la salle, déposée sur Azure et surveillée pour sa fraîcheur.

Critères d'acceptation

  • L'artefact envoyé est l'export agrégé produit par #35. Le format, l'emplacement sur le serveur et la fréquence sont confirmés avec Justine et notés en commentaire de ce ticket (pas de modification de #35).
  • Une tâche du rôle Ansible backup (#41) chiffre cet export avec age et le dépose via le jeton SAS sous daily-archive/AAAA-MM-JJ.dump.age.
  • Le jeton n'est lu que déchiffré à la volée, jamais écrit en clair sur le disque.
  • Aucune donnée brute ni série curated n'est incluse : le contrôle porte sur le contenu de l'archive.
  • Planification en heure creuse, nice/ionice, code retour non nul en cas d'échec, sortie journalisée localement.
  • Un contrôle de fraîcheur signale l'absence de nouveau blob depuis plus de 26 h, et une restauration test récupère l'archive depuis Azure et compare le compte de lignes à l'origine.

Comment on le vérifie

Commande   lancer la tâche à la main, puis az storage blob list et age -d sur un échantillon
Attendu    un blob horodaté déposé, déchiffrable, ne contenant que l'agrégat
Preuve     le journal d'exécution, la liste des blobs et le compte de lignes de la restauration test

Manuel d'exploitation à mettre à jour

docs/runbooks/stockage-secours.md (complété), section « envoi, vérification et restauration »

Risque et retour arrière

Perte réseau vers Azure : la tâche réessaie, sinon le contrôle de fraîcheur remonte le trou. Archive volumineuse : compresser avant chiffrement.

Dépendances

Dépend de #70 (jeton SAS). S'appuie sur #35 (export EF-12) et #41 (rôle Ansible backup), sans les modifier.

### Exigence couverte ENF-05, ENF-03 ### Épreuve servie EC04 · Cloud et sécurisation ### Charge estimée 1 j.h ### Ce qu'on veut obtenir Une copie hors-site de l'archive agrégée quotidienne, la seule donnée qui a le droit de sortir de la salle, déposée sur Azure et surveillée pour sa fraîcheur. ### Critères d'acceptation - [ ] L'artefact envoyé est l'export agrégé produit par #35. Le format, l'emplacement sur le serveur et la fréquence sont confirmés avec Justine et notés en commentaire de ce ticket (pas de modification de #35). - [ ] Une tâche du rôle Ansible `backup` (#41) chiffre cet export avec `age` et le dépose via le jeton SAS sous `daily-archive/AAAA-MM-JJ.dump.age`. - [ ] Le jeton n'est lu que déchiffré à la volée, jamais écrit en clair sur le disque. - [ ] Aucune donnée brute ni série `curated` n'est incluse : le contrôle porte sur le contenu de l'archive. - [ ] Planification en heure creuse, `nice`/`ionice`, code retour non nul en cas d'échec, sortie journalisée localement. - [ ] Un contrôle de fraîcheur signale l'absence de nouveau blob depuis plus de 26 h, et une restauration test récupère l'archive depuis Azure et compare le compte de lignes à l'origine. ### Comment on le vérifie ``` Commande lancer la tâche à la main, puis az storage blob list et age -d sur un échantillon Attendu un blob horodaté déposé, déchiffrable, ne contenant que l'agrégat Preuve le journal d'exécution, la liste des blobs et le compte de lignes de la restauration test ``` ### Manuel d'exploitation à mettre à jour `docs/runbooks/stockage-secours.md` (complété), section « envoi, vérification et restauration » ### Risque et retour arrière Perte réseau vers Azure : la tâche réessaie, sinon le contrôle de fraîcheur remonte le trou. Archive volumineuse : compresser avant chiffrement. ### Dépendances Dépend de #70 (jeton SAS). S'appuie sur #35 (export EF-12) et #41 (rôle Ansible `backup`), sans les modifier.
gabriel self-assigned this 2026-09-02 09:04:22 +00:00
florian added this to the EnerVision project 2026-09-02 14:51:50 +00:00
gabriel removed their assignment 2026-09-03 09:54:08 +00:00
gabriel added the due date 2026-09-11 2026-09-03 12:41:07 +00:00
gabriel added this to the Post-jury milestone 2026-09-03 15:06:04 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
2026-09-11
Dependencies

No dependencies set

Reference
g2/enervision#71
No description provided.