Browse Source

add support for streams

pull/276/head
Thomas Thorburn 4 years ago
parent
commit
e690655481
5 changed files with 52 additions and 0 deletions
  1. +3
    -0
      nginx/init.sls
  2. +14
    -0
      nginx/map.jinja
  3. +3
    -0
      nginx/passenger.sls
  4. +1
    -0
      nginx/servers_config.sls
  5. +31
    -0
      nginx/streams.sls

+ 3
- 0
nginx/init.sls View File

{%- if nginx.snippets is defined %} {%- if nginx.snippets is defined %}
- nginx.snippets - nginx.snippets
{%- endif %} {%- endif %}
{%- if nginx.streams is defined %}
- nginx.streams
{%- endif %}
- nginx.servers - nginx.servers
- nginx.certificates - nginx.certificates



+ 14
- 0
nginx/map.jinja View File

'server_available': '/etc/nginx/sites-available', 'server_available': '/etc/nginx/sites-available',
'server_enabled': '/etc/nginx/sites-enabled', 'server_enabled': '/etc/nginx/sites-enabled',
'snippets_dir': '/etc/nginx/snippets', 'snippets_dir': '/etc/nginx/snippets',
'streams_dir': '/etc/nginx/streams',
'server_use_symlink': True, 'server_use_symlink': True,
'pid_file': '/run/nginx.pid', 'pid_file': '/run/nginx.pid',
'openssl_package': 'openssl', 'openssl_package': 'openssl',
'server_available': '/etc/nginx/conf.d', 'server_available': '/etc/nginx/conf.d',
'server_enabled': '/etc/nginx/conf.d', 'server_enabled': '/etc/nginx/conf.d',
'snippets_dir': '/etc/nginx/snippets', 'snippets_dir': '/etc/nginx/snippets',
'streams_dir': '/etc/nginx/streams',
'server_use_symlink': False, 'server_use_symlink': False,
'pid_file': '/run/nginx.pid', 'pid_file': '/run/nginx.pid',
'rh_os_releasever': '$releasever', 'rh_os_releasever': '$releasever',
'server_available': '/etc/nginx/conf.d', 'server_available': '/etc/nginx/conf.d',
'server_enabled': '/etc/nginx/conf.d', 'server_enabled': '/etc/nginx/conf.d',
'snippets_dir': '/etc/nginx/snippets', 'snippets_dir': '/etc/nginx/snippets',
'streams_dir': '/etc/nginx/streams',
'server_use_symlink': False, 'server_use_symlink': False,
'pid_file': '/run/nginx.pid', 'pid_file': '/run/nginx.pid',
'rh_os_releasever': '$releasever', 'rh_os_releasever': '$releasever',
'server_available': '/etc/nginx/vhosts.d', 'server_available': '/etc/nginx/vhosts.d',
'server_enabled': '/etc/nginx/vhosts.d', 'server_enabled': '/etc/nginx/vhosts.d',
'snippets_dir': '/etc/nginx/snippets', 'snippets_dir': '/etc/nginx/snippets',
'streams_dir': '/etc/nginx/streams',
'server_use_symlink': False, 'server_use_symlink': False,
'pid_file': '/run/nginx.pid', 'pid_file': '/run/nginx.pid',
'gpg_check': True, 'gpg_check': True,
'server_available': '/etc/nginx/sites-available', 'server_available': '/etc/nginx/sites-available',
'server_enabled': '/etc/nginx/sites-enabled', 'server_enabled': '/etc/nginx/sites-enabled',
'snippets_dir': '/etc/nginx/snippets', 'snippets_dir': '/etc/nginx/snippets',
'streams_dir': '/etc/nginx/streams',
'server_use_symlink': True, 'server_use_symlink': True,
'openssl_package': 'openssl', 'openssl_package': 'openssl',
}, },
'server_available': '/etc/nginx/sites-available', 'server_available': '/etc/nginx/sites-available',
'server_enabled': '/etc/nginx/sites-enabled', 'server_enabled': '/etc/nginx/sites-enabled',
'snippets_dir': '/etc/nginx/snippets', 'snippets_dir': '/etc/nginx/snippets',
'streams_dir': '/etc/nginx/streams',
'server_use_symlink': True, 'server_use_symlink': True,
'openssl_package': 'dev-libs/openssl', 'openssl_package': 'dev-libs/openssl',
}, },
'server_available': '/usr/local/etc/nginx/sites-available', 'server_available': '/usr/local/etc/nginx/sites-available',
'server_enabled': '/usr/local/etc/nginx/sites-enabled', 'server_enabled': '/usr/local/etc/nginx/sites-enabled',
'snippets_dir': '/usr/local/etc/nginx/snippets', 'snippets_dir': '/usr/local/etc/nginx/snippets',
'streams_dir': '/usr/local/etc/nginx/streams',
'server_use_symlink': True, 'server_use_symlink': True,
'pid_file': '/var/run/nginx.pid', 'pid_file': '/var/run/nginx.pid',
}, },
'events': { 'events': {
'worker_connections': 512, 'worker_connections': 512,
}, },
'stream' : {
'include': '/etc/nginx/streams/*',
},
'http': { 'http': {
'sendfile': 'on', 'sendfile': 'on',
'tcp_nopush': 'on', 'tcp_nopush': 'on',
}) %} }) %}
{% endif %} {% endif %}
{% endif %} {% endif %}

{% if salt['grains.get']('os_family') == 'FreeBSD' %}
{% do nginx.server.config.stream.update({'include' : nginx.lookup.streams_dir ~ '/*'}) %}
{% endif %}

+ 3
- 0
nginx/passenger.sls View File

{%- if nginx.snippets is defined %} {%- if nginx.snippets is defined %}
- nginx.snippets - nginx.snippets
{%- endif %} {%- endif %}
{%- if nginx.streams is defined %}
- nginx.streams
{%- endif %}
- nginx.servers - nginx.servers
- nginx.certificates - nginx.certificates



+ 1
- 0
nginx/servers_config.sls View File

{#- _nginx is a lightened copy of nginx map intended to passed in templates #} {#- _nginx is a lightened copy of nginx map intended to passed in templates #}
{%- set _nginx = nginx.copy() %} {%- set _nginx = nginx.copy() %}
{%- do _nginx.pop('snippets') %} {%- do _nginx.pop('snippets') %}
{%- do _nginx.pop('streams') %}
{%- do _nginx.pop('servers') %} {%- do _nginx.pop('servers') %}


# Simple path concatenation. # Simple path concatenation.

+ 31
- 0
nginx/streams.sls View File

# nginx.streams
#
# Manages creation of streams

{%- set tplroot = tpldir.split('/')[0] %}
{%- from tplroot ~ '/map.jinja' import nginx, sls_block with context %}
{%- from tplroot ~ '/libtofs.jinja' import files_switch with context %}

{#- _nginx is a lightened copy of nginx map intended to passed in templates #}
{%- set _nginx = nginx.copy() %}
{%- do _nginx.pop('streams') %}
{%- do _nginx.pop('servers') %}

nginx_streams_dir:
file.directory:
{{ sls_block(nginx.servers.dir_opts) }}
- name: {{ nginx.lookup.streams_dir }}

{% for stream, config in nginx.streams.items() %}
nginx_streams_{{ stream }}:
file.managed:
- name: {{ nginx.lookup.streams_dir ~ '/' ~ stream }}
- source: {{ files_switch([ stream, 'server.conf' ],
'nginx_stream_file_managed'
)
}}
- template: jinja
- context:
config: {{ config|json() }}
nginx: {{ _nginx|json() }}
{% endfor %}

Loading…
Cancel
Save