diff --git a/nginx/map.jinja b/nginx/map.jinja index 18766d0..c273349 100644 --- a/nginx/map.jinja +++ b/nginx/map.jinja @@ -162,6 +162,7 @@ 'makedirs': True, }, 'managed': {}, + 'purge_servers_config': False, }, 'passenger': { 'passenger_root': '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini', diff --git a/nginx/servers_config.sls b/nginx/servers_config.sls index 3d0d38c..66dd7d7 100644 --- a/nginx/servers_config.sls +++ b/nginx/servers_config.sls @@ -83,6 +83,7 @@ nginx_server_enabled_dir: file.directory: {{ sls_block(nginx.servers.dir_opts) }} - name: {{ nginx.lookup.server_enabled }} + - clean: {{ nginx.servers.purge_servers_config }} # If enabled and available are not the same, create available {% if nginx.lookup.server_enabled != nginx.lookup.server_available -%} @@ -90,6 +91,7 @@ nginx_server_available_dir: file.directory: {{ sls_block(nginx.servers.dir_opts) }} - name: {{ nginx.lookup.server_available }} + - clean: {{ nginx.servers.purge_servers_config }} {%- endif %} # Manage the actual server files diff --git a/pillar.example b/pillar.example index dfd8ee7..3654979 100644 --- a/pillar.example +++ b/pillar.example @@ -174,6 +174,9 @@ nginx: # partially exposes file.directory params for site available/enabled and # snippets dirs dir_opts: {} + # let the choice to purge site-available and site-enable folders before add new ones + # (if True it removes all non-salt-managed files) + purge_servers_config: false #####################