infra: configurer webhook Forgejo + auto_deploy Coolify pour auto-rebuild #7
Labels
No labels
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
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#7
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?
Contexte
Le merge de PR #6 (
feat(reports): add GET /reports/scans) le 2026-05-08 01:23 UTC n'a PAS declenche de rebuild Coolify :last_online_atCoolify :2026-05-08 01:19:13(avant le merge)GET https://health.lacompagniemaximus.com/reports/scans?date=...->HTTP 404(route absente) jusqu'au redeploy manuel via UILe
CLAUDE.mddu projet affirme :Faux dans l'etat actuel. Drift de config a corriger.
Cause racine (diagnostic 2026-05-08)
Forgejo cote : aucun webhook configure sur
maximus/vps-health-api.Coolify cote :
auto_deploy: Nonesur l'appvps-health-api(uuidu8000gsg044wsk0oo0w884ok, slugspotless-seahorse-y4gwocg8k8088g04cgosk00g).Sans webhook ni auto-deploy, chaque merge sur
mainnecessite un trigger manuel via UI Coolify.Travail a faire
auto_deploy=truesur l'app Coolifyu8000gsg044wsk0oo0w884okmaximus/vps-health-api:Pushsur branchemainuniquementapplication/jsonlast_online_atCoolify avancer dans la minuteauto_deploysur les autres apps Coolify (maximus-api,feedback-api, ...). Si drift detecte sur 2+ apps, ouvrir issue umbrella separee dansla-compagnie-maximuspour le chantier infra global (hors scope ici)la-compagnie-maximus/docs/coolify-ops.mdsection "Webhook Forgejo -> Coolify". Mentionner aussi que~/.coolify-tokenactuel n'a pas la permdeploy(chantier token = separe)CLAUDE.mddu projet : la phrase actuelle redevient vraie post-fixRisque principal
Le type de "Source" Coolify (HTTPS clone URL vs Forgejo App integration) peut bloquer. L'auto-deploy webhook Coolify v4 fonctionne typiquement seulement avec une integration "App" (OAuth/PAT bidirectionnelle), pas un clone HTTPS direct.
Comparaison repos Coolify :
vps-health-api:git_repository = https://git.lacompagniemaximus.com/maximus/vps-health-api.git(HTTPS public/clone simple)maximus-api:git_repository = git@git.lacompagniemaximus.com:22222/maximus/maximus-api.git(SSH via deploy key, port custom 22222)Si le webhook ne peut pas etre wired sur la source actuelle, plan B : migrer vers integration "Source -> Private Repository (with Github / Gitea App)" + reconfigurer deploy key. C'est un re-provisioning leger (env vars conservees). Voir
coolify-ops.mdworkflow type.Verifications utiles
Decisions retenues (resolues via /analyze 2026-05-09)
vps-health-api(~10 min). Audit cross-app -> issue umbrella separee dansla-compagnie-maximussi drift detecte sur 2+ appsvps-health-api(regression observee ici, contexte produit ici, meme si fix touche config externe)coolify-ops.mdque~/.coolify-tokenactuel est read/write onlyAcceptation
maximus/vps-health-api(eventspushsurmain)auto_deploy=truesur l'app Coolifycoolify-ops.mda jour si la procedure a revele un gotchaSurface de test
Pas de tests unitaires (config infra). Test de regression = test E2E ci-dessus (merge PR triviale -> redeploy auto).
Complexite
Simple — config infra hors code, ~10 min si la source Coolify est compatible webhook. Sinon Medium (re-provisioning source).
Rolled into umbrella issue maximus/la-compagnie-maximus#133.
Le diagnostic de fix-issue 2026-05-10 a revele que les 4 apps Coolify (
vps-health-api,maximus-api,denicheurs-web,denicheurs-worker) ont le meme driftauto_deploy=None+source_id=None. Le fix necessite de configurer une integration Source Forgejo dans Coolify (chantier UI, pas API) et de migrer chaque app — pas un fix isole sur cette app.Fermeture en rolled-into pour eviter de jeter le travail au prochain re-provisioning.