私たちはsaltstackでWebサイトを管理しています。これらのサイトはPHP-FPM上で動作し、いくつかのfpmプールがあります。各プールはphp-fpm.d/
ディレクトリ内の専用ファイルで構成されています。すべてのファイルが有効な場合のみ、複数のファイルをsaltstackで展開する
現時点では、file.managed
の状態でcheck_cmd: php-fpm -ty
と設定されているかどうかを確認します。間違いがプールファイル(たとえば、fpm-pool-a
)に行われたまで
fpm-conf:
file.managed:
- name: /etc/php-fpm.conf
- source: salt://php/template/fpm.jinja
- user: someuser
- group: somegroup
- mode: 644
- template: jinja
- check_cmd: /usr/sbin/php-fpm -ty
- require:
- pkg: php-package
fpm-pool-a:
file.managed:
- name: /etc/php-fpm.d/a.conf
- source: salt://php/template/fpm-a.jinja
- user: someuser
- group: somegroup
- file_mode: 644
- template: jinja
- require:
- pkg: php-package
- require_in:
- file: fpm-conf
fpm-pool-b:
file.managed:
- name: /etc/php-fpm.d/b.conf
- source: salt://php/template/fpm-b.jinja
- user: someuser
- group: somegroup
- file_mode: 644
- template: jinja
- require:
- pkg: php-package
- require_in:
- file: fpm-conf
それは、正常に動作します。 fpm-conf
状態は、メインのfpm設定ファイルへの更新をブロックしますが、a.conf
は誤った構成で汚染されています。
これを防ぐ方法はありますか?この場合、check_cmd
は使用できないようです。
更新する前に一連のファイルがすべて有効であることを保証するにはどうすればよいですか?