New feature - Enable the uploading of the config file (nginx.conf and sites) instead of templating those file
This commit is contained in:
parent
bc71df50a9
commit
1f697b9d6b
@ -12,11 +12,18 @@ nginx_log_dir:
|
||||
- group: {{ nginx.server.config.user }}
|
||||
{% endif %}
|
||||
|
||||
{% if 'source' in nginx.server.config %}
|
||||
{% set source_path = nginx.server.config.source %}
|
||||
{% 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' 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' in settings.config %}
|
||||
{% set source_path = settings.config.source %}
|
||||
{% 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' 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: 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 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: 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.
|
||||
|
Loading…
Reference in New Issue
Block a user