fix(cli/deploiement): rendre les exécutions dégradées observables par la supervision #13
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Constat
Le pipeline convertit plusieurs échecs en avertissements pour poursuivre l'exécution : synchronisation CalDAV en échec, erreur XMPP, échec de comparaison ou de blog. Tant que les données Pronote ont été récupérées,
PipelineRunner.run()retourne des données et la CLI retourne le code 0, après avoir seulement journalisé les erreurs.La documentation de déploiement présente pourtant l'unité systemd en échec comme signal de supervision. Avec le contrat actuel, une perte de synchronisation CalDAV ou de notification XMPP peut donc laisser le timer/systemd dans un état réussi et ne déclencher aucune alerte basée sur le code de sortie.
Proposition
Définir puis exposer un contrat d'état de sortie permettant de distinguer :
Les options envisageables sont un code de sortie non nul dédié aux exécutions dégradées, un mode CLI
--strict, ou un statut machine-readable exploitable par la supervision. Quel que soit le choix, la documentation systemd et les logs doivent décrire le même comportement.Critères d'acceptation
Périmètre
Contrat CLI/pipeline et documentation de supervision ; pas de changement imposé sur la stratégie de repli Pronote.