2.6 KiB
2.6 KiB
Veille Infra v2 — montée + fix activation n8n "Version not found"
Date : 15/07/2026 · Sphère : infra · Statut : opérationnel
Objectif
Digest infra quotidien unique : santé (conteneurs, disques, SMART, certs, VPS Contabo, backup USB) + veille techno/CVE (releases GitHub, CVE NVD), synthèse par LLM gratuit (Bifrost/gemini-2.5-flash), livré Email + Telegram.
Architecture
- Collecteur
/volume1/docker/veille-infra/veille_infra.py(py3.8 + requests, aucun secret dans le script).- Santé :
docker ps(Best0f, sans sudo) ;df -Ph /volume1 /; SMART best-effort →need_rootsi non-root ; certsacme/*bolbol*(glob échappé) ; VPS viatailscale pingsinon "non vérifié" (jamais de faux "injoignable") ; backup/volumeUSB1. - Veille : GitHub
releases/latest(n8n, gitea, portainer, crowdsec, baserow) ; CVE NVD par mot-clé. - Verdict OK/ATTENTION/CRITIQUE + alertes. Synthèse LLM si
/volume1/docker/veille-infra/.bifrost_vk(chmod 600) présent → POSThttp://192.168.100.33:3085/v1/chat/completionsheaderx-bf-vk, modelgemini-2.5-flash. - Rendu HTML (navy #1A1A2E / or #B8862A, footer Nyora) + Telegram, POST
https://n8n.nd.i234.me/webhook/veille-infra. - Debug :
VEILLE_DUMP=1→ écritlast_payload.json, pas de POST.
- Santé :
- Workflow livraison n8n
X51xQsOpXeedaBKt: Webhook POSTveille-infra→ Email (IK.ME SMTP7eBO8ta5EiZOVufh) + Telegram (ND_TelegramOyOHh6jAzCDsiBux, chat 2084513684). Creds auto-assignées. E2E OK (exec 32550 success). - Ordonnancement : tâche DSM Planificateur root, quotidienne 08:00 Tunis,
python3 /volume1/docker/veille-infra/veille_infra.py(root requis pour SMART). À créer via UI web DSM.
FIX RÉUTILISABLE — publish n8n "Version not found"
Depuis la coupure/purge, workflow_entity.versionId peut pointer vers une version absente de workflow_history (les updates MCP changent versionId sans historiser) → publishVersion échoue en FK. La recréation NE corrige PAS. Le restart n8n NON PLUS.
Correctif (DB Postgres n8n-DB, rayon d action = 1 ligne) :
select "versionId" from workflow_history where "workflowId"='<WF>' order by "createdAt" desc limit 1;
update workflow_entity set "versionId"='<versionId-historisée>' where id='<WF>';
puis publish_workflow MCP → actif (active=t, activeVersionId==versionId).
Dette sécu (rotation)
- Token Telegram en clair dans le node Code de "INFRA | OpenHuman Watch" (
9MkE8Fx3ZlY485Y5) → roter + passer sur credential ND_Telegram. - Mot de passe Postgres n8n faible (
n8npass). - VK Bifrost
bfk-0c…(déjà flaggée, transitée en clair).