Projet phare — Juin 2026 — Live en prod

Self-Healing
Platform v2

Plateforme SRE de remédiation Kubernetes automatisée avec validation humaine, garde-fous et audit complet. 7 namespaces prod surveillés. Mode Auto activé sur données réelles, pas sur confiance aveugle.

Résultats clés
⏱️ MTTR réel : 12 secondes
🤖 189 remédiations automatiques
📊 244 incidents analysés
100 % de validations humaines sans rejet
🔄 26+ rollbacks GitOps automatiques
🛡️ 0 action sur namespace protégé
244+
Incidents analysés
85%
Confiance IA moyenne
12s
MTTR réel bout en bout
100%
Taux validation humain
0
Faux positifs
Kubernetes K3s Prometheus Alertmanager n8n Groq LLaMA 3.3 70B PostgreSQL Flask Python Chaos Mesh Grafana ArgoCD Brevo
Le projet

Quand un pod Kubernetes crashe à 3h du matin, deux options : une alerte vous réveille, ou le système se répare seul. Construire la deuxième option de manière responsable — c'est l'objectif de ce projet.

La plupart des projets d'automatisation échouent parce qu'ils ne savent pas s'arrêter. Self-Healing Platform v2 est conçu autour d'un principe inverse : accumuler des preuves avant d'agir. Le Mode Auto n'a été activé qu'après 51 validations humaines consécutives sans aucun rejet.

Ce n'est pas de l'IA qui décide. C'est un rule engine qui applique des règles métier, et un LLM qui justifie pourquoi. La différence est fondamentale pour un système de remédiation en production.
01
Phase 1 — Semaines 1-2
Mode Observe — Voir avant d'agir
Détection automatique, analyse IA, zéro action. Accumulation de données réelles en prod.

Tout commence par l'écoute. Prometheus surveille les 7 namespaces prod toutes les 15 secondes. Dès qu'un incident est détecté — CrashLoopBackOff, ImagePullBackOff, DeploymentFailed, OOMKilled — le pipeline se déclenche.

Groq LLaMA 3.3 70B analyse la cause racine et justifie une action recommandée avec un score de confiance de 0 à 100%. Le résultat arrive par email en moins de 2 secondes. Mais rien n'est exécuté — c'est le Mode Observe.

Chaque décision est enregistrée en PostgreSQL avec : namespace, pod, cause racine, action recommandée, score de confiance, modèle LLM utilisé, et version de la plateforme pour permettre des comparaisons futures.

Prometheus
Alertmanager
n8n Webhook
Rule Engine
Groq LLaMA
PostgreSQL
Brevo Email
Gmail — Incident #95 — Mode OBSERVE
Email Mode Observe DeploymentFailed
Premier email Mode Observe : Groq analyse un DeploymentFailed sur vitalcorps avec 90% de confiance. Aucune action exécutée — validation humaine requise.
02
Phase 2 — Rule Engine + Validation
Décision déterministe, justification IA
Le rule engine décide. Groq justifie et mesure sa confiance. Chaque décision est validée ou rejetée par un humain.

Un constat rapide : laisser le LLM décider seul donne toujours "investigate" par prudence. Ce n'est pas utile. La solution : séparer la décision de la justification.

Le rule engine applique des règles métier strictes — CrashLoopBackOff → restart_pod, DeploymentFailed → rollback_argocd. Groq reçoit l'action déjà décidée et justifie pourquoi elle est correcte, avec un score de confiance sur son analyse de la cause racine.

Un Validator Flask permet de valider chaque décision depuis le navigateur — boutons Approve/Reject avec commentaire optionnel. Chaque validation est enregistrée dans une table incident_validations qui constitue l'audit trail objectif.

03
Phase 3 — Mode Auto actif
Remédiation automatique avec garde-fous
Après 51 validations humaines — 0 rejet — le Mode Auto est activé sur CrashLoopBackOff.

Le Mode Auto n'est pas activé parce que l'IA est intelligente. Il est activé parce que 51 incidents consécutifs ont été validés sans aucun rejet. C'est la différence entre de l'automatisation et de l'ingénierie.

Un Executor Flask sur srv-kubernetes reçoit les requêtes de n8n et exécute kubectl rollout restart via subprocess. Cette architecture contourne les restrictions NetworkPolicy entre le pod n8n et l'API K8s.

Chaque action est auditée : action_taken, action_result, MTTR calculé automatiquement, auto_reason. Le MTTR en conditions réelles est inférieur à 2 secondes entre la détection et la confirmation du restart.

📋
Whitelist stricte
CrashLoopBackOff uniquement. OOMKilled, ImagePullBackOff, DeploymentFailed restent en Mode Observe.
🚫
Blacklist namespaces
kube-system, argocd, security-sentinel, chaos-mesh, cert-manager — jamais touchés automatiquement.
⏱️
Cooldown 15 minutes
1 restart maximum par namespace toutes les 15 minutes. Évite les boucles de remédiation.
🔢
Limite 3 par heure
Au-delà de 3 restarts sur 1h : escalade Brevo + retour automatique en Mode Observe.
🔍
Résolution deployment
Pod → ReplicaSet → Deployment avant toute action. Si pod introuvable : action none.
📧
Email systématique
[AUTO ✅] success, [AUTO ❌] failed, [ESCALADE 🚨], [COOLDOWN ⏳], [OBSERVE] — traçabilité totale.
n8n — SelfHealing v2 - Auto — Execution #1473 — Succeeded in 1.598s
n8n Workflow Auto
Pipeline complet en 1.6 secondes : Webhook → Parse → Groq + Rule Engine → Store Incident → Auto Action Executor → Brevo → Respond OK.
Résultats après 48h en prod
133+
Incidents analysés
55
Validations humaines
78
Actions automatiques
83%
Confiance IA moyenne
0
Faux positifs
100%
Taux validation
<2s
MTTR Mode Auto
7
Namespaces surveillés
Ce que ce projet démontre avant tout : un système de remédiation mature sait dire non autant qu'il sait agir. Le garde-fou deployment_not_found — qui bloque l'action quand le pod n'existe plus — est aussi important que le restart réussi.
Stack technique
Infrastructure
Kubernetes K3s ArgoCD Traefik Chaos Mesh
Observabilité
Prometheus Alertmanager Grafana PostgreSQL
Automation & IA
n8n Groq LLaMA 3.3 70B Flask Python Brevo
Phase 4 — GitOps Auto Recovery

Rollback ArgoCD automatique

Déploiements volontairement cassés sur selfhealing-test via GitHub. ArgoCD détecte le sync, Prometheus alerte sur DeploymentFailed, le système rollback automatiquement vers la révision précédente.

Flux complet : push image cassée → ArgoCD sync → DeploymentFailed → Prometheus → n8n → Executor → rollback_argocd → service restauré en 12s

87%
Rollback Success Rate
17
Rollbacks consécutifs réussis
12s
MTTR réel bout en bout

Whitelist finale — validée par les données

✅ CrashLoopBackOff → restart_pod → AUTO (55 validations humaines)
✅ DeploymentFailed → rollback_argocd → AUTO (17 rollbacks consécutifs)
✅ DeploymentReplicasMismatch → rollback_argocd → AUTO
👀 OOMKilled → OBSERVE (cgroup v2 non déterministe en homelab)
👀 ImagePullBackOff → OBSERVE

Dashboard Grafana — résultats finaux

Dashboard Grafana Phase 4

Email de notification — rollback automatique réussi

Email rollback ArgoCD success

Démonstration vidéo

Vous exploitez Kubernetes ?

Réduisez vos incidents récurrents en 30 minutes

Je peux vous montrer comment réduire le temps de résolution de vos incidents récurrents grâce à l'automatisation, au GitOps et aux garde-fous SRE — avec des données réelles, pas des slides.

Demander une démo gratuite de 30 min →