service - SaltStack: en una declaración de observación, ¿cómo especifico un directorio donde se deben ver todos los archivos?
nginx salt-stack (2)
De acuerdo con el número 663 cerrado en febrero de 2012, una vigilancia en /path/*
debería verse de forma recursiva.
Me gustaría que el servicio nginx se reinicie cada vez que se cree o modifique cualquier archivo en el directorio /etc/nginx/conf.d
.
Hay una serie de archivos en ese directorio, y en lugar de especificar archivos particulares, me gustaría observar todos los cambios.
He intentado esto:
nginx:
pkg.installed:
- name: nginx
service:
- running
- enable: True
- restart: True
- watch:
- file: /etc/nginx/nginx.conf
- file: /etc/nginx/conf.d
- pkg: nginx
pero el - file: /etc/nginx/conf.d
línea - file: /etc/nginx/conf.d
no está haciendo lo que quiero.
Este es el error:
ID: nginx
Function: service.running
Result: False
Comment: The following requisites were not found:
watch:
file: /etc/nginx/conf.d
Changes:
También he intentado una serie de variaciones que incluyen una barra diagonal, pero ninguna de ellas funciona.
¿Qué debería - file: /etc/nginx/conf.d/
?
Estoy usando un glob para emparejar:
file: /etc/nginx/conf.d/*
Aquí está el fragmento corregido:
nginx:
pkg.installed:
- name: nginx
service:
- running
- enable: True
- restart: True
- watch:
- file: /etc/nginx/nginx.conf
- file: /etc/nginx/conf.d/*
- pkg: nginx
También tenga en cuenta que Salt solo puede ver otros estados que ya están especificados en su archivo de estado, por lo que solo verá los archivos que son administrados por el propio Salt.
Si esto no funciona para usted, intente consultar el siguiente enlace para obtener una solución diferente: http://intothesaltmine.org/blog/html/2012/12/18/using_watch_with_file_recurse.html