fix(coolify): REPORTS_DIR mal cable + bind-mount des scan reports manquant #10
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/vps-health-api#10
Loading…
Reference in a new issue
No description provided.
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?
Symptome
GET /reports/scans?date=2026-05-13retourne{count: 0, reports: []}alors que 9 rapports de scan existent sur le VPS pour cette date. Consequence :defenseur-autosur la workstation Max charge 0 finding chaque nuit (scan reports loaded — 0 report(s)), aucune PR auto n'est ouverte. Cas vecu cette nuit (2026-05-13) : 2 HIGH deps surla-suite-booking(fast-uri, next) + 1 MEDIUM surbardes(postcss) ignores.Cause racine
Le conteneur Coolify
vps-health-api(resourcespotless-seahorse-..., app id 1) a :REPORTS_DIR=/data/scans— chemin inexistant dans le conteneur/data/defenseurs -> /data/defenseurs(host:container)/data/defenseurs/: justestatus.json+agents-map.json, pas de sous-dirreports/Les rapports de scan vivent cote host dans
/home/defenseur/defenseurs/reports/archive/, jamais exposes au conteneur. Le codeindex.js:10defaulte sur/data/defenseurs/reports(correct par defaut) mais l'env override pointe ailleurs ET le chemin n'est pas mount.La TODO manuelle post-merge de la PR #6 (notee dans
defenseurs/STATE.md2026-05-07 — "Manuel post-merge : env var Coolify REPORTS_DIR=/data/defenseurs/reports") n'a jamais ete executee. Pas d'issue de tracking.Fix
Sur le VPS :
Dans Coolify (app vps-health-api) :
REPORTS_DIR:/data/scans→/data/defenseurs/reportsValidation
Puis le prochain run defenseur-auto (cron workstation 02:00 Montreal) devrait charger les findings et ouvrir des PRs sur les repos enabled (booking, denicheurs, famille, maximus, simpl-liste, Simpl-Resultat, vps-health-api).
Note suivi
Ajouter une verification dans
test-curl.shou un healthcheck qui detectecount: 0persistant comme signal d'alerte (eviter une regression silencieuse de meme nature).Regle en prod le 2026-07-15 — autrement que decrit ici : le symlink propose ne pouvait pas fonctionner. Un symlink est resolu au moment de la lecture, dans le namespace de celui qui lit ; dans le conteneur,
/home/defenseur/n'existe pas -> lien mort, meme symptome (existsSyncfalse, count 0 silencieux).Fix reel :
/home/defenseur/defenseurs/reports->/data/defenseurs/reports(Directory Mount via UI — aucun endpoint API storages, etcustom_docker_run_optionsignore-vsilencieusement, gotcha documente dansla-compagnie-maximus/docs/coolify-ops.md)REPORTS_DIRcorrigee :/data/scans->/data/defenseurs/reports(chemin canonique)Validation :
GET /reports/scans?date=2026-07-13->count=10(10 agents), idem2026-07-14.Note :
defenseur-auto(consommateur original) est en voie d'abandon — l'endpoint et ce fix restent necessaires pour/defenseurs/findings(PR #9, mergee) qui lit le memeREPORTS_DIR.