Skip to content

Commit ff9a5b3

Browse files
author
Tristan Charbonneau
committedAug 27, 2020
feat(vhosts): Better cleanup solution
Sometimes, the cleanup process happend AFTER vhosts are installed, which resulted in no vhost declared. Parsing declared vhosts in pillar and comparing to present files on the server allows to remove only unwanted files. Plus, files are kept in sites-available, and removed only in sites-enabled.
1 parent aabccad commit ff9a5b3

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed
 

‎nginx/servers_config.sls

+20-2
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,13 @@ nginx_server_enabled_dir:
8383
file.directory:
8484
{{ sls_block(nginx.servers.dir_opts) }}
8585
- name: {{ nginx.lookup.server_enabled }}
86-
- clean: {{ nginx.servers.purge_servers_config }}
8786
8887
# If enabled and available are not the same, create available
8988
{% if nginx.lookup.server_enabled != nginx.lookup.server_available -%}
9089
nginx_server_available_dir:
9190
file.directory:
9291
{{ sls_block(nginx.servers.dir_opts) }}
9392
- name: {{ nginx.lookup.server_available }}
94-
- clean: {{ nginx.servers.purge_servers_config }}
9593
{%- endif %}
9694
9795
# Manage the actual server files
@@ -157,3 +155,23 @@ nginx_server_available_dir:
157155
{%- endif %} {# enabled != available_dir #}
158156
{% endif %}
159157
{% endfor %}
158+
159+
160+
{# Add . and .. to make it easier to not clean those #}
161+
{% set valid_sites = ['.', '..', ] %}
162+
163+
{# Take sites from nginx.servers.managed #}
164+
{% for server, settings in salt['pillar.get']('nginx:servers:managed', {}).items() %}
165+
{% do valid_sites.append(server) %}
166+
{% endfor %}
167+
168+
{% if salt['file.directory_exists'](nginx.lookup.server_enabled) %}
169+
{% for filename in salt['file.readdir'](nginx.lookup.server_enabled) %}
170+
{% if filename not in valid_sites %}
171+
172+
{{ nginx.lookup.server_enabled ~ '/' ~ filename }}:
173+
file.absent
174+
175+
{% endif %}
176+
{% endfor %}
177+
{% endif %}

0 commit comments

Comments
 (0)