Przeglądaj źródła

feat(servers_config): passes context to custom `source_path` templates

pull/296/head
sticky-note 2 lat temu
rodzic
commit
c835e537fb
3 zmienionych plików z 13 dodań i 11 usunięć
  1. +1
    -3
      nginx/config.sls
  2. +1
    -3
      nginx/servers_config.sls
  3. +11
    -5
      pillar.example

+ 1
- 3
nginx/config.sls Wyświetl plik

@@ -27,7 +27,5 @@ nginx_config:
)
}}
- template: jinja
{% if 'source_path' not in nginx.server.config %}
- context:
config: {{ nginx.server.config|json(sort_keys=False) }}
{% endif %}
config: {{ nginx.server.get('config', {})|json(sort_keys=False) }}

+ 1
- 3
nginx/servers_config.sls Wyświetl plik

@@ -129,11 +129,9 @@ nginx_server_available_dir:
- {{ k }}: {{ v }}
{%- endfor %}
{%- endif %}
{% if 'source_path' not in settings.config %}
- context:
config: {{ settings.config|json(sort_keys=False) }}
nginx: {{ _nginx|json() }}
{% endif %}
config: {{ settings.get('config',{})|json(sort_keys=False) }}
{% if 'overwrite' in settings and settings.overwrite == False %}
- unless:
- test -e {{ server_curpath(server) }}

+ 11
- 5
pillar.example Wyświetl plik

@@ -119,9 +119,10 @@ nginx:
## - - -- - - -- -- - - --- -- - -- - - - -- - - - - -- - - - -- - - - -- - ##
config:
include: 'snippets/letsencrypt.conf'
# IMPORTANT: This option is mutually exclusive with TOFS and 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
# IMPORTANT: This option is mutually exclusive with TOFS.
# It uploads the file from source and passes the global `nginx` and the
# `config` dictionnary to the template.
# `jinja` is assumed as template type.
source_path: salt://path_to_nginx_conf_file/nginx.conf
worker_processes: 4
# pass as very first in configuration; otherwise nginx will fail to start
@@ -278,9 +279,14 @@ nginx:
available_dir: /etc/nginx/sites-available
enabled_dir: /etc/nginx/sites-enabled
config:
# IMPORTANT: This field is mutually exclusive with TOFS and other
# config options, it just uploads the specified file
# IMPORTANT: This field is mutually exclusive with TOFS.
# It uploads the file from source and passes the global `nginx` and the
# `config` dictionnary to the template.
# `jinja` is assumed as template type.
source_path: salt://path-to-site-file/mysite2
# Example:
port: 80 # is passed as `config.port` to template located at `source_path`
custom_key: custom_value

# Below configuration becomes handy if you want to create custom
# configuration files for example if you want to create

Ładowanie…
Anuluj
Zapisz