New feature - Enable the uploading of the config filestags/v0.55.0
@@ -12,11 +12,18 @@ nginx_log_dir: | |||
- group: {{ nginx.server.config.user }} | |||
{% endif %} | |||
{% if 'source_path' in nginx.server.config %} | |||
{% set source_path = nginx.server.config.source_path %} | |||
{% else %} | |||
{% set source_path = 'salt://nginx/ng/files/nginx.conf' %} | |||
{% endif %} | |||
nginx_config: | |||
file.managed: | |||
{{ sls_block(nginx.server.opts) }} | |||
- name: {{ nginx.lookup.conf_file }} | |||
- source: salt://nginx/ng/files/nginx.conf | |||
- source: {{ source_path }} | |||
- template: jinja | |||
{% if 'source_path' not in nginx.server.config %} | |||
- context: | |||
config: {{ nginx.server.config|json() }} | |||
{% endif %} |
@@ -85,15 +85,22 @@ nginx_server_available_dir: | |||
# Managed enabled/disabled state for servers | |||
{% for server, settings in nginx.servers.managed.items() %} | |||
{% if settings.config != None %} | |||
{% if 'source_path' in settings.config %} | |||
{% set source_path = settings.config.source_path %} | |||
{% else %} | |||
{% set source_path = 'salt://nginx/ng/files/server.conf' %} | |||
{% endif %} | |||
{% set conf_state_id = 'server_conf_' ~ loop.index0 %} | |||
{{ conf_state_id }}: | |||
file.managed: | |||
{{ sls_block(nginx.servers.managed_opts) }} | |||
- name: {{ server_curpath(server) }} | |||
- source: salt://nginx/ng/files/server.conf | |||
- source: {{ source_path }} | |||
- template: jinja | |||
{% if 'source_path' not in settings.config %} | |||
- context: | |||
config: {{ settings.config|json() }} | |||
{% endif %} | |||
{% if 'overwrite' in settings and settings.overwrite == False %} | |||
- unless: | |||
- test -e {{ server_curpath(server) }} |
@@ -77,6 +77,9 @@ nginx: | |||
# nginx.conf (main server) declarations | |||
# dictionaries map to blocks {} and lists cause the same declaration to repeat with different values | |||
config: | |||
source_path: salt://path_to_nginx_conf_file/nginx.conf # IMPORTANT: This option is mutually exclusive with the rest of the | |||
# options; if it is found other options (worker_processes: 4 and so | |||
# on) are not processed and just upload the file from source | |||
worker_processes: 4 | |||
pid: /var/run/nginx.pid ### Directory location must exist | |||
events: | |||
@@ -138,6 +141,12 @@ nginx: | |||
# test something else; | |||
# } | |||
# } | |||
mysite2: # Using source_path options to upload the file instead of templating all the file | |||
enabled: True | |||
available_dir: /etc/nginx/sites-available | |||
enabled_dir: /etc/nginx/sites-enabled | |||
config: | |||
source_path: salt://path-to-site-file/mysite2 | |||
certificates_path: '/etc/nginx/ssl' # Use this if you need to deploy below certificates in a custom path. | |||
# If you're doing SSL termination, you can deploy certificates this way. |