règle deux points de dette avant le pilote : alerte self-healing, image Kuma
L'alerte Prometheus du self-healing (VmPanneGenerale, VmIrreparable, VmSurveillanceArretee) existait déjà depuis un commit suivant celui qui l'avait notée en dette - vérifié en interrogeant Prometheus en réel, les trois règles sont chargées et saines. Ligne retirée. Image Uptime Kuma : le digest figé correspondait au tag flottant ":1", qui embarque un script d'avertissement sans impact réel. Repointé vers le digest du tag versionné 1.23.17 (même version, build différent), redéployé, sondes conservées. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
f2bca621cd
commit
ecdc125288
4 changed files with 26 additions and 7 deletions
|
|
@ -2,8 +2,10 @@
|
|||
supervision_fichier_webhook: /root/.alertes-webhook
|
||||
supervision_port_relais: 9099
|
||||
supervision_port_uptime_kuma: 3001
|
||||
# Figée par un digest, pas par le tag flottant ":1" (dette notée le
|
||||
# 2026-10-09) : 1.23.17, telle que déployée le 2026-10-09. Procédure de
|
||||
# mise à jour : docs/runbooks/supervision.md.
|
||||
supervision_image_uptime_kuma: "louislam/uptime-kuma@sha256:70233f4acb5163fd2a59a49909cf01e44415cecff13dba69e3a86647a2919f83"
|
||||
# Figée par un digest, pas par un tag flottant. Digest du tag versionné
|
||||
# 1.23.17 (2026-10-14) : jusqu'ici c'était celui publié sous ":1", qui
|
||||
# injecte encore un script d'avertissement de dépôt obsolète (sans impact,
|
||||
# visible seulement sur /setup, jamais atteint). Procédure de mise à
|
||||
# jour : docs/runbooks/supervision.md.
|
||||
supervision_image_uptime_kuma: "louislam/uptime-kuma@sha256:3d632903e6af34139a37f18055c4f1bfd9b7205ae1138f1e5e8940ddc1d176f9"
|
||||
supervision_dossier_textfile: /var/lib/node_exporter/textfile
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ retirer la ligne (et le noter dans le journal) quand c'est fait.
|
|||
|
||||
| Sujet | Pourquoi c'est une dette | Quand | Origine |
|
||||
|---|---|---|---|
|
||||
| Image Uptime Kuma encore « historique » (même contenu que `:1`, désormais figé par digest — 2026-10-12) | Le digest figé est celui publié sous le tag flottant `:1` (1.23.17), qui injecte encore `docker-latest-warning.js` (sans impact : visible seulement sur `/setup`, jamais atteint). Migrer vers le build du tag versionné `1.23.17` (digest différent, probablement une image reconstruite sans ce script) demande de re-pull et de revérifier la page de statut et les sondes — pas fait ici. | Avant le pilote | Demande d'Adam, 2026-10-09 ; réduite le 2026-10-12 |
|
||||
| Projet `paillasse`, compte `paillasse-service` et son rôle créés à la main (étape 6) | Pas rejouables par Ansible (gabarit et quota le sont depuis l'étape 13, rôle `openstack-projet`). | Bloc B | Étape 6 |
|
||||
| Clé age des sauvegardes : copie hors du serveur non confirmée | Sans elle, aucune sauvegarde n'est déchiffrable si le serveur est perdu (voir `docs/runbooks/sauvegardes.md`). Adam doit confirmer l'avoir mise en lieu sûr. | Dès que possible | Étape 3 |
|
||||
| Vitrine : Tailwind par CDN d'exécution (`cdn.tailwindcss.com`, 19 pages) | Non destiné à la production selon Tailwind, lent, et oblige la vitrine à tolérer les scripts en ligne dans sa CSP. Compiler ces styles avec Vite. | Avant ouverture publique | Étape 12 (design) |
|
||||
|
|
@ -27,7 +26,6 @@ retirer la ligne (et le noter dans le journal) quand c'est fait.
|
|||
| **`sudo` sans mot de passe pour `adam`** (`/etc/sudoers.d/90-adam`) | La clé SSH de Claude Code (sans passphrase) donne un accès root complet. Retrait proposé à l'étape 16 ; gardé par choix d'Adam pendant le bloc A. Retrait : vérifier son mot de passe (`sudo -k && sudo -v`), garder la session ouverte, `sudo rm /etc/sudoers.d/90-adam`, puis playbooks avec `-K`. | Fin du bloc A | Étape 16 |
|
||||
| Visio : chat activé à chaud non vérifié | L'interrupteur « Chat des élèves » change la barre d'outils par `overwriteConfig` ; non vérifié en navigateur. Vue mobile de la maquette non reprise (la page élève est simplement adaptative). | Bloc B | Étape 15 |
|
||||
| Image Jitsi figée sans procédure de mise à jour | `stable-11248` : comme pour Kuma, prévoir la montée de version par Ansible (variable `visio_version`) et rejouer `visio-e2e.mjs`. | Bloc B | Étape 15 |
|
||||
| Self-healing : pas d'alerte Prometheus dédiée | `syllabus_vm_panne_generale` et `syllabus_vm_irreparables` sont publiées mais sans règle d'alerte ; seul le prof voit une VM irréparable dans la salle d'attente. | Avant le pilote | 2026-10-12 |
|
||||
| Self-healing : ne couvre que les VM (pas le serveur, déjà en dette, ni les conteneurs/services, déjà `Restart=always`) | Documenté dans `docs/runbooks/self-healing.md`, pas une lacune à corriger — rappel pour ne pas le redemander. | — | 2026-10-12 |
|
||||
| Banque de quiz : un quiz partagé disparaît si la classe d'origine est archivée puis purgée (RGPD, 90 jours) | La banque n'a pas de propriétaire indépendant d'une classe (pas de `user_id` ni de `classe_id` nullable sur `quizzes`, pour rester simple). À corriger si des profs partagent des quiz qu'ils veulent garder au-delà de la durée de vie d'une classe. N'affecte pas les quiz officiels (voir ligne suivante). | Si ça gêne en usage réel | 2026-10-13 |
|
||||
| Banque de quiz officielle : établissement, prof et classe techniques invisibles (« Bibliothèque Paillasse » / « Banque officielle », `App\Services\Quiz\BanqueOfficielle`) | Simple propriétaire stable pour les quiz synchronisés depuis `paillasse-contenus/`, jamais archivé donc jamais purgé — mais apparaîtrait comme un établissement et un prof fictifs dans toute future liste d'administration globale. À filtrer explicitement si un tel écran est ajouté. | Si un écran d'admin globale est ajouté | 2026-10-13 |
|
||||
|
|
|
|||
|
|
@ -1047,3 +1047,19 @@ Le choix qui a le plus simplifié ce chantier : ne pas inventer un nouveau méca
|
|||
**Suite**
|
||||
|
||||
Chantier « vrai cockpit » terminé : les quatre fonctions fictives du tableau de bord démo (quiz, devoirs, observations, examen) sont maintenant réelles. Reprendre le plan du bloc A (CLAUDE.md, section 2) là où il en était.
|
||||
|
||||
## 2026-10-14 — Deux points de dette « avant le pilote » réglés
|
||||
|
||||
Avant de passer à la semaine 8 (pilote avec une vraie classe), j'ai repris la liste des points de dette marqués « avant le pilote ».
|
||||
|
||||
**Alerte Prometheus du self-healing : fausse dette.** La ligne « pas d'alerte dédiée » datait du 2026-10-12, mais `VmPanneGenerale`, `VmIrreparable` et `VmSurveillanceArretee` avaient été ajoutées le jour même dans un commit suivant (`d47e835`) sans que la ligne de dette soit retirée. Vérifié en interrogeant l'API Prometheus réelle (`/api/v1/rules`, authentifiée) : les trois règles sont chargées et en bonne santé (`health: ok`). Ligne retirée de `docs/dette.md` — rien à construire, juste un oubli de ménage.
|
||||
|
||||
**Image Uptime Kuma : digest corrigé.** Le digest figé était celui publié sous le tag flottant `:1`, qui embarque encore un script d'avertissement « dépôt obsolète » sans impact réel (jamais atteint, visible seulement sur `/setup`). Vérifié sur l'API Docker Hub que le tag versionné `1.23.17` a un digest de manifeste différent (`3d632903...` contre `70233f4a...`) : même version logicielle, image reconstruite autrement. Mis à jour `supervision_image_uptime_kuma`, redéployé (`ansible-playbook supervision.yml`) : conteneur recréé avec le nouveau digest, toujours en écoute sur 127.0.0.1 seulement, base de données des sondes conservée (volume Docker, taille inchangée). Dette retirée, runbook mis à jour.
|
||||
|
||||
**Comprendre**
|
||||
|
||||
La dette qui n'existe plus a coûté plus cher à découvrir (interroger Prometheus, retrouver l'authentification) qu'à corriger quand elle existait vraiment : un rappel pour vérifier l'état réel avant de croire une ligne de `dette.md`, dans un sens comme dans l'autre.
|
||||
|
||||
**Suite**
|
||||
|
||||
Reste « avant le pilote » : les mentions légales (CGU, article disponibilité/responsabilité — j'ai besoin de l'avis d'Adam, pas une décision à prendre seul), et le test TURN-443 avec UDP bloqué (rejouer `visio-e2e.mjs`). Puis semaine 8 du bloc A : pilote avec une vraie classe.
|
||||
|
|
|
|||
|
|
@ -121,7 +121,10 @@ ssh paillasse "sudo -i bash -c 'export PATH=/opt/kolla-venv/bin:\$PATH; kolla-an
|
|||
Figée par **digest**, pas par le tag flottant `louislam/uptime-kuma:1` (qui
|
||||
peut changer de contenu à tout moment, sans avertissement ni changelog
|
||||
attaché au tag) : `supervision_image_uptime_kuma`
|
||||
(`ansible/roles/supervision/defaults/main.yml`). Version actuelle : 1.23.17.
|
||||
(`ansible/roles/supervision/defaults/main.yml`). Version actuelle : 1.23.17,
|
||||
sous son propre tag versionné depuis le 2026-10-14 (avant cette date, le
|
||||
digest figé était celui du tag flottant `:1` au même contenu — build
|
||||
différent, avec un script d'avertissement sans impact).
|
||||
|
||||
1. Choisir la version visée sur <https://hub.docker.com/r/louislam/uptime-kuma/tags>
|
||||
(préférer un tag de version exacte, ex. `1.23.18`, jamais `1` ou `latest`)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue