Eu tenho um único servidor provisionado pelo Ansible executando vários sites.
Minhas tarefas Ansible se parecem com:
- 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
Eu gostaria de usar o validate
parâmetro para o módulo de modelo do Ansible para chamar nginx -t
e garantir que minhas novas configurações sejam sintaticamente válidas. Funciona para o 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"
Mas parece não captar alterações nos arquivos de configuração específicos do site. Colocar validate
os modelos específicos do site não funciona, pois eles precisam ser agrupados em uma http
diretiva para serem válidos.
O que posso fazer para verificar a validade desses arquivos específicos do site?