Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(servers_config): passes context to custom source_path templates #296

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions nginx/config.sls
Original file line number Diff line number Diff line change
Expand Up @@ -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) }}
4 changes: 1 addition & 3 deletions nginx/servers_config.sls
Original file line number Diff line number Diff line change
Expand Up @@ -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) }}
Expand Down
16 changes: 11 additions & 5 deletions pillar.example
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down