n8n es el cerebro operativo del stack. Recibe alertas de Prometheus via Alertmanager, consulta a un LLM (OpenCode Go API) para analisis, y notifica a Discord. Siete workflows preconfigurados cubren respuesta a incidentes, analisis de logs, health checks y monitoreo GitOps.
01
Configuracion
n8n se configura con variables de entorno no sensibles en un ConfigMap. Los secrets (encryption key, API keys) se inyectan via Vault Agent — no estan en el ConfigMap ni en el Deployment.
N8N_HOSTn8n.local
Hostname para la UI y webhooks. En lab local se resuelve via /etc/hosts o port-forward.
N8N_METRICStrue
Habilita el endpoint /metrics para que Prometheus pueda scrapear metricas de n8n.
N8N_METRICS_INCLUDE_DEFAULT_METRICStrue
Incluye metricas de Node.js (event loop lag, GC, memoria heap).
N8N_SECURE_COOKIEfalse
Cookies sin flag Secure. En lab local no hay HTTPS. En OCI con Ingress + TLS se cambia a true.
N8N_BLOCK_ENV_ACCESS_IN_NODEfalse
Permite que los nodos HTTP Request lean variables de entorno. Necesario para usar la API key de OpenCode sin hardcodearla.
02
Workflows Preconfigurados
Siete workflows cubren el ciclo completo de operaciones. Se importan desde JSON en k3s/manifests/n8n/workflows/. Cada uno resuelve un problema concreto.
Test OpenCode ConnectionManual
Verifica la conexion con la API de OpenCode Go. Workflow de prueba de 2 nodos antes de construir workflows complejos.
Incident ResponseWebhook /alertmanager
Recibe alertas de Alertmanager, extrae el contexto, consulta al LLM para analisis de causa raiz y acciones correctivas, y notifica a Discord.
Log AnalysisCron — cada hora
Consulta Loki buscando logs ERROR/WARN de las ultimas 2 horas, los procesa con LLM y genera un reporte de salud en Discord.
Health CheckCron — cada 5 min
Verifica el estado de los pods en el namespace aiops. Si detecta Failed o CrashLoopBackOff, analiza con LLM y notifica. Si todo OK, escribe un log informativo.
Pod Restart DetectorCron — cada 15 min
Consulta Prometheus buscando pods con mas de 3 reinicios en la ultima hora. Diseniado para ser silencioso — no genera ruido si no hay problemas.
Daily Health ReportCron — 8:00 AM
Genera un reporte diario con disponibilidad promedio, uso de memoria y pods activos. Lo envia a Discord como resumen matutino.
ArgoCD Sync MonitorCron — cada 30 min
Se autentica con ArgoCD y consulta el estado de sync de las aplicaciones. Si detecta OutOfSync, notifica a Discord.
03
El Loop de Respuesta a Incidentes
El workflow mas importante del proyecto: Alertmanager dispara un webhook en n8n, que consulta a OpenCode Go API y notifica a Discord con el analisis del LLM. Todo en menos de 15 segundos.
⚠️
Prometheus
Alerta disparada
→
📡
Alertmanager
Webhook a n8n
→
⚙️
n8n
Extrae + consulta LLM
→
🤖
OpenCode Go
Analisis + sugerencias
→
💬
Discord
Notificacion
Este loop es el diferenciador del proyecto. La Fase 5 detalla cada workflow con codigo, screenshots y la Incident Simulation grabada. El valor no esta en instalar n8n — esta en demostrar el loop end-to-end con LLM.
04
Storage y Persistencia
n8n usa SQLite como base de datos interna con un PVC de 5Gi. Los workflows se almacenan en la DB. El directorio de workflows en el repo es para import/export y versionado en Git.
5 Gi
PVC size
SQLite
Database
UID 1000
Security Context
/healthz
Health Check
Fase 4 Completada
El observability stack esta corriendo. La Fase 5 pone a funcionar los workflows de n8n con LLM — el verdadero diferenciador del proyecto.