feat(config): validate config before applying

This commit is contained in:
Javier Bértoli 2020-09-23 15:51:03 -03:00
parent 63d32a40b1
commit b396b24fe4
3 changed files with 15 additions and 0 deletions

View File

@ -31,3 +31,6 @@ nginx_config:
- context: - context:
config: {{ nginx.server.config|json(sort_keys=False) }} config: {{ nginx.server.config|json(sort_keys=False) }}
{% endif %} {% endif %}
{% if nginx.check_config_before_apply %}
- check_cmd: /usr/sbin/nginx -t -c
{% endif %}

View File

@ -112,6 +112,7 @@
'install_from_ppa': False, 'install_from_ppa': False,
'install_from_repo': False, 'install_from_repo': False,
'install_from_phusionpassenger': False, 'install_from_phusionpassenger': False,
'check_config_before_apply': False,
'ppa_version': 'stable', 'ppa_version': 'stable',
'source_version': '1.10.0', 'source_version': '1.10.0',
'source_hash': '8ed647c3dd65bc4ced03b0e0f6bf9e633eff6b01bac772bcf97077d58bc2be4d', 'source_hash': '8ed647c3dd65bc4ced03b0e0f6bf9e633eff6b01bac772bcf97077d58bc2be4d',

View File

@ -28,6 +28,17 @@ nginx:
source_version: '1.10.0' source_version: '1.10.0'
source_hash: '' source_hash: ''
# Check the configuration before applying:
# To prevent applying a configuration that might break nginx, set this
# parameter to true so the configuration is checked BEFORE applying. If
# the check fails, the state will fail and it won't be deployed.
# CAVEAT: As the configuration file is created in a temp dir, it can't
# have relative references or it will fail to check. You'll need to
# specify full paths where required (ie, `include`, `load_module`,
# `snippets`, etc.0
# Defaults to false
check_config_before_apply: false
# These are usually set by grains in map.jinja # These are usually set by grains in map.jinja
# Typically you can comment these out. # Typically you can comment these out.
lookup: lookup: