Lección de Arquitectura: Group Vars & Variable Precedence

  • Error detectado: Las variables definidas en archivos sueltos en la raíz no siempre entran en el alcance (scope) de los roles, provocando el error undefined variable.
  • Análisis Técnico: Ansible prioriza la estructura de directorios. Al existir una carpeta group_vars/all/, el sistema busca ahí la “fuente de verdad” para las variables globales.
  • Solución: Se implementó el patrón de diseño de directorio group_vars/all/. Ansible realiza un deep merge de todos los archivos dentro de esta carpeta (en mi caso main.yml y vault.yml).
  • Beneficio en Ciberseguridad: Esta estructura facilita el uso de herramientas de Secret Scanning como Gitleaks. Podemos configurar el escáner para que ignore archivos públicos pero sea extremadamente estricto con cualquier archivo dentro de rutas que contengan la palabra vault o secret.

Evidencia de la estructura final: