n8n: cerrar el webhook del auto-reinicio con un secreto compartido

/webhook/uptime-kuma-restart es publico y sin autenticar. Mientras no reiniciaba
nada daba igual; desde hoy reinicia doce servicios, los dos blogs incluidos, asi
que cualquiera que diera con la ruta podia zarandear el cluster.

Uptime Kuma manda ahora la cabecera X-Kuma-Token (webhookAdditionalHeaders de la
notificacion "n8n Auto-Restart") y el primer nodo Code la compara con
KUMA_WEBHOOK_TOKEN antes de hacer nada.

La comprobacion falla en ABIERTO si el secreto no esta configurado en n8n: un
despiste de configuracion degrada al comportamiento de antes en vez de dejar de
avisar en silencio, que es el fallo que no se ve venir. Si esta configurado y no
coincide, se devuelve vacio: ni reinicio, ni Telegram, ni fila de error que se
pueda llenar a base de peticiones.

El secret n8n-kuma-webhook se crea con kubectl y NO esta en git; el env va con
optional: true para que la ausencia no impida arrancar el pod.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-30 20:25:17 +00:00
co-authored by Claude Opus 5
parent 9d42dac312
commit 125cdc9de0
2 changed files with 14 additions and 1 deletions
+13
View File
@@ -62,6 +62,19 @@ spec:
secretKeyRef:
name: telegram-notify-infisical
key: TELEGRAM_CHAT_ID
# Secreto compartido con la notificación "n8n Auto-Restart" de Uptime
# Kuma, que lo manda en la cabecera X-Kuma-Token (2026-07-30). El
# webhook /webhook/uptime-kuma-restart es público y desde hoy sí
# reinicia servicios de verdad, así que no puede quedar abierto.
# ⚠️ FUERA DE GIT a propósito (secret n8n-kuma-webhook, creado con
# kubectl): si algún día falta, el workflow NO deja de avisar — se
# salta la comprobación y sigue, que es como se comportaba antes.
- name: KUMA_WEBHOOK_TOKEN
valueFrom:
secretKeyRef:
name: n8n-kuma-webhook
key: KUMA_WEBHOOK_TOKEN
optional: true
# n8n ≥1.x bloquea $env en expresiones por defecto; sin esto el nodo
# HTTP del autopost no puede leer GETXAPI_TOKEN. Instancia single-user.
- name: N8N_BLOCK_ENV_ACCESS_IN_NODE