diff --git a/nginx/map.jinja b/nginx/map.jinja index 86a2cd0..b467106 100644 --- a/nginx/map.jinja +++ b/nginx/map.jinja @@ -1,6 +1,11 @@ {% set nginx = salt['grains.filter_by']({ 'Debian': { 'apache_utils': 'apache2-utils', + 'group_action': 'pkg.installed', + 'group_pkg': 'build-essential', + 'libpcre_dev': 'libpcre3-dev', + 'libssl_dev': 'libssl-dev', + 'pid_path': '/var/run/nginx.pid', 'package': 'nginx-full', 'default_user': 'www-data', 'default_group': 'www-data', @@ -17,6 +22,11 @@ }, 'RedHat': { 'apache_utils': 'httpd-tools', + 'group_action': 'pkg.group_installed', + 'group_pkg': 'Development Tools', + 'libpcre_dev': 'pcre-devel', + 'libssl_dev': 'openssl-devel', + 'pid_path': '/run/nginx.pid', 'package': 'nginx', 'default_user': 'nginx', 'default_group': 'nginx', @@ -31,4 +41,4 @@ 'install_prefix': '/usr/local/nginx', 'make_flags': '-j2' }, -}, merge=salt['pillar.get']('nginx:lookup'), default='Debian') %} +}, grain='os_family', merge=salt['pillar.get']('nginx:lookup'), default='Debian') %} diff --git a/nginx/ng/map.jinja b/nginx/ng/map.jinja index ea0ddc5..74396e6 100644 --- a/nginx/ng/map.jinja +++ b/nginx/ng/map.jinja @@ -24,7 +24,7 @@ 'vhost_available': '/etc/nginx/conf.d', 'vhost_enabled': '/etc/nginx/conf.d', 'vhost_use_symlink': False, - 'pid_file': '/var/run/nginx.pid', + 'pid_file': '/run/nginx.pid', 'rh_os_releasever': '$releasever', }, 'Suse': { diff --git a/nginx/source.sls b/nginx/source.sls index 6fb2d7e..3d13f48 100644 --- a/nginx/source.sls +++ b/nginx/source.sls @@ -1,8 +1,5 @@ {% from "nginx/map.jinja" import nginx as nginx_map with context %} -# Source currently requires package 'build-essential' which is Debian based. -# Will not work with os_family RedHat! -# TODO- Someone with a RedHat system please update this to work on RedHat {% set nginx = pillar.get('nginx', {}) -%} {% set use_sysvinit = nginx.get('use_sysvinit', nginx_map['use_sysvinit']) %} {% set version = nginx.get('version', '1.6.2') -%} @@ -15,7 +12,7 @@ {% set conf_dir = nginx.get('conf_dir', nginx_map['conf_dir']) -%} {% set conf_only = nginx.get('conf_only', false) -%} {% set log_dir = nginx.get('log_dir', nginx_map['log_dir']) -%} -{% set pid_path = nginx.get('pid_path', '/var/run/nginx.pid') -%} +{% set pid_path = nginx.get('pid_path', nginx_map['pid_path']) -%} {% set lock_path = nginx.get('lock_path', '/var/lock/nginx.lock') -%} {% set sbin_dir = nginx.get('sbin_dir', nginx_map['sbin_dir']) -%} @@ -67,12 +64,22 @@ nginx_user: - directory - makedirs: True +get-build-tools: +{% if grains['saltversion'] < '2015.8.0' and grains['os_family'] == 'RedHat' %} + module.run: + - name: pkg.group_install + - m_name: {{ nginx_map.group_pkg }} +{% else %} + {{ nginx_map.group_action }}: + - name: {{ nginx_map.group_pkg }} +{% endif %} + get-nginx: pkg.installed: - names: - - libpcre3-dev - - build-essential - - libssl-dev + - {{ nginx_map.libpcre_dev }} + - {{ nginx_map.libssl_dev }} + file.managed: - name: {{ nginx_package }} - source: {{ tarball_url }} @@ -218,6 +225,7 @@ nginx: {% for name, module in nginx.get('modules', {}).items() -%} - file: get-nginx-{{name}} {% endfor %} +{% if use_sysvinit %} file: - managed - template: jinja @@ -230,6 +238,7 @@ nginx: service_name: {{ service_name }} sbin_dir: {{ sbin_dir }} pid_path: {{ pid_path }} +{% endif %} service: {% if service_enable %} - running