Files
k8s-manifests/tools/excepciones-auditoria.yaml
T
chemavxandClaude Opus 4.8 07c872e847 tools: auditor de exports contra el cluster
Deja en el repo lo que hoy destapó que argocd-redis, el daemon.json de gitea y
siete imágenes llevaban meses diciendo una cosa mientras el cluster hacía otra.

Compara cada manifiesto con el objeto vivo, en las dos direcciones (el fichero
afirma algo falso / hay algo desplegado que el fichero no menciona / el objeto no
existe). Sólo mira los directorios fuera de ArgoCD, que es donde no hay nadie
comprobando: en los demás ArgoCD ya marca OutOfSync cada 3 minutos. La lista de
directorios se deduce preguntando a ArgoCD por los paths de sus Applications, así
que si mañana un namespace entra en GitOps el script se ajusta solo.

Las excepciones conocidas van en excepciones-auditoria.yaml CON su motivo, para
que lo normal sea "hallazgos NUEVOS: 0" y cualquier cosa que asome merezca una
mirada. Un informe que siempre saca ruido deja de leerse — que es justo el fallo
que se ha estado corrigiendo estos días. El script también avisa cuando una
excepción ya no se dispara: se arregló y la entrada sobra.

Probado viéndolo fallar, no sólo pasar: inyectadas a propósito una avería de cada
tipo (imagen cambiada, env borrada del fichero, objeto inexistente) y las caza
las tres saliendo con código 1. Al probarlo apareció un fallo propio: con -d
marcaba como sobrantes las excepciones de los directorios no barridos; ahora sólo
lo afirma tras un barrido completo.

No toca nada (sólo lectura), nunca compara valores de Secret —sólo nombres de
clave— y se salta lo que ignora .gitignore.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 09:37:05 +00:00

32 lines
1.4 KiB
YAML

# Hallazgos que la auditoría debe dar por buenos, cada uno con su motivo.
#
# La idea es que `audita-exports.py` termine normalmente en "hallazgos NUEVOS: 0".
# Un informe que siempre saca ruido deja de leerse, y entonces no sirve de nada.
# Por eso todo lo que se calla se justifica aquí, y el script avisa cuando una
# excepción ya no se dispara: eso significa que se arregló y sobra la entrada.
#
# Campos: fichero (patrón glob, obligatorio), tipo y contiene (opcionales, para
# afinar), motivo (obligatorio, se muestra con -v).
excepciones:
- fichero: reddit-intel/*
tipo: NO DESPLEGADO
motivo: >-
Inactivo a propósito. reddit-intel corre en n97 con Docker
(/opt/reddit-intel); estos manifiestos existen sólo en git a la espera de
promoción. Ver reddit-intel/PROMOTION.md.
- fichero: argocd-patches/*
motivo: >-
No son manifiestos completos sino parches parciales que se vuelven a
aplicar sobre los manifiestos oficiales de ArgoCD tras cada actualización.
Les faltan campos a propósito, así que comparar con el cluster no procede.
El estado real está en argocd/deployment-argocd-redis.yaml.
- fichero: argocd/application-infisical-operator-rbac.yaml
tipo: DIFIERE
contiene: ignoreDifferences
motivo: >-
`group: ""` en un ignoreDifferences es el grupo core; el API server lo
omite por ser cadena vacía. Equivalente a estar ausente, no es deriva.