falco_actualizar.sh

#!/usr/bin/env bash
# Sube Falco a 0.45.1 (chart falcosecurity/falco 9.2.1) conservando la configuración actual
# (--reuse-values: driver modern_ebpf, reglas propias, Falcosidekick).
#
# Por qué: con el kernel 7.0.0-42 la sonda modern_ebpf de Falco 0.45.0 no carga
# («failed to load BPF skeleton: -13 / Permission denied») y Falco queda en CrashLoopBackOff
# en los nodos ya reiniciados. 0.45.1 (libs 0.26.1) corrige el fallo del verificador de BPF
# («fix signal_deliver verifier failure on kernels exposing the siginfo argument as a scalar»).
# Excepción a la regla de las dos semanas (publicada el 2026-10-19), por ser el arreglo de la
# herramienta de seguridad.
#
# Uso (como root en el master-1):  ./scripts/falco_actualizar.sh
set -euo pipefail

IMAGEN="0.45.1@sha256:69e957f91b3a6beb5c82e2afae33ec3e4479dab2d4421475d288d0cd113cedf6"

# --reuse-values con chart nuevo: comprobado con --dry-run=server que entre 9.2.0 y 9.2.1
# solo cambia la imagen del DaemonSet (configuración, reglas, Falcosidekick y Secrets igual).
helm repo update falcosecurity >/dev/null
helm -n falco upgrade falco falcosecurity/falco --version 9.2.1 --reuse-values \
  --set image.tag="$IMAGEN" >/dev/null
echo "Esperando a Falco en todos los nodos (RollingUpdate con maxUnavailable: 1: de uno en uno)…"
kubectl -n falco rollout status ds/falco --timeout=15m
kubectl -n falco get pods -l app.kubernetes.io/name=falco -o wide