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>
32 lines
1.4 KiB
YAML
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.
|