Tengo un único servidor con aprovisionamiento de Ansible que ejecuta varios sitios.
Mis tareas de Ansible se ven más o menos así:
- name: site nginx config
template: src="nginx-site.conf.j2" dest=/etc/nginx/conf.d/{{item.name}}.conf
owner=root group=root mode=0444
with_items: sites
notify: restart nginx
- name: nginx conf
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
owner=root group=root mode=0444
notify: restart nginx
Me gustaría usar el validate
parámetro del módulo de plantilla de Ansible para llamar nginx -t
y asegurarme de que mis nuevas configuraciones sean sintácticamente válidas. Funciona para el nginx.conf principal:
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
owner=root group=root mode=0444
validate="/usr/sbin/nginx -c %s -t"
Pero no parece captar cambios en los archivos de configuración específicos del sitio. Poner validate
en las plantillas específicas del sitio no funciona, ya que deben incluirse en una http
directiva para que sean válidas.
¿Qué puedo hacer para verificar la validez de estos archivos específicos del sitio?