runbook: addendum 2 — resolution definitive nyora-notes (branches, pollution DSM/macOS, secret SSH en dur)

This commit is contained in:
Nabil Derouiche
2026-08-13 16:17:30 +01:00
parent 7e2d6c413f
commit ab055f8b1a
@@ -112,3 +112,19 @@ un `git fetch` frais a revele que `origin/main` avait en realite recu 3 merges d
**Piege identifie pour la suite** : ne jamais conclure sur un ecart local/remote sans `git fetch` frais au prealable — un etat en cache peut donner une image totalement fausse (ici : un merge PR avait deja eu lieu, invisible sans fetch). **Piege identifie pour la suite** : ne jamais conclure sur un ecart local/remote sans `git fetch` frais au prealable — un etat en cache peut donner une image totalement fausse (ici : un merge PR avait deja eu lieu, invisible sans fetch).
---
## Addendum 2 — 13/08/2026 — resolution definitive (branches, pollution, secret en dur)
Suite a la demande explicite de tout resoudre sans rien laisser trainer.
**Branches obsoletes** : 8 branches locales ET distantes supprimees (`feat/ai-morning-summary-nvidia`, `feat/initial-catchup-summary`, `feat/sidebars-toggle`, `feat/typography-settings`, `feat/weekly-recap`, `fix/healthcheck`, `fix/htmx-tag-toggle-persistence`, `fix/missing-middle-toggle`) — toutes deja mergees dans l'ancien `main` (donc contenu preserve dans l'historique) ou explicitement abandonnees/depassees. Etat final : une seule branche, `main`, locale et distante identiques.
**Pollution DSM/macOS** : `.gitignore` complete (`@eaDir/`, `**/@eaDir/`, `*@SynoEAStream`, `*@SynoResource`, `._*`) pour empecher toute reintroduction future. Un fichier deja tracke par erreur (`credentials/@eaDir/.env@SynoEAStream`) untracke via `git rm --cached`. Verifie avec `git check-ignore -v` sur les 3 patterns avant commit.
**Script mort supprime** : `app/check_docx.py` (debug ponctuel du 11/06, bug deja corrige, ID de note hardcode). Note technique : ce fichier etait inaccessible (permission denied, y compris pour root) via le montage direct `/mnt/docker` du conteneur mcp-nas, mais supprimable normalement via `ssh nas-host` (Best0f) — ACL Synology visiblement scopee differemment entre les deux points d'acces au meme volume. A garder en tete pour toute intervention future sur ce repo depuis mcp-nas.
**Secret en dur retire (trouvaille de securite)** : `generate-infra-index.py` et `.sh` contenaient le mot de passe SSH Best0f en clair (`SSHPASS="..."` hardcode), deja expose dans l'historique git sous une ancienne valeur (`2L2u519w@ommi`, rotee depuis vers la valeur actuelle). Remplace par lecture `BEST0F_SSH_PASS` (variable d'environnement, avec repli sur `nyora-notes/.env` si absente — ces scripts tournent hors conteneur, sans dotenv, et n'ont pas de tache planifiee identifiee dans le Task Scheduler DSM ni dans une crontab, execution probablement manuelle depuis mcp-nas). Valeur ajoutee dans `.env` (gitignore, jamais commit). L'ancienne valeur exposee dans l'historique n'a pas ete purgee (rewrite d'historique juge disproportionne pour un secret deja rote et un repo Gitea prive sans autre acces) — a signaler si une politique de purge d'historique est un jour mise en place (cf. `common/rotation-secrets-inventaire.md`).
**Verification finale** : conteneur `nyora-notes` sain (`healthy`) apres toutes les operations — uniquement des refs git et deux fichiers hors execution (scripts de maintenance, jamais importes par l'application) touches, zero redemarrage necessaire.