Merge pull request #66 from xclusv/feature-customize-service-name-and-status

Source install: Customize service name and status
This commit is contained in:
Nitin Madhok 2014-11-08 02:36:56 -05:00
commit 89a30e31de
2 changed files with 34 additions and 26 deletions

View File

@ -24,6 +24,9 @@
{% set without_items = nginx.get('without', []) -%} {% set without_items = nginx.get('without', []) -%}
{% set make_flags = nginx.get('make_flags', nginx_map['make_flags']) -%} {% set make_flags = nginx.get('make_flags', nginx_map['make_flags']) -%}
{% set service_name = nginx.get('service_name', 'nginx') %}
{% set service_enable = nginx.get('service_enable', True) %}
{% set nginx_package = source + '/nginx-' + version + '.tar.gz' -%} {% set nginx_package = source + '/nginx-' + version + '.tar.gz' -%}
{% set nginx_source = source + "/nginx-" + version -%} {% set nginx_source = source + "/nginx-" + version -%}
{% set nginx_modules_dir = source + "/nginx-modules" -%} {% set nginx_modules_dir = source + "/nginx-modules" -%}
@ -78,7 +81,7 @@ get-nginx:
- file: {{ nginx_modules_dir }} - file: {{ nginx_modules_dir }}
cmd.wait: cmd.wait:
- cwd: {{ source }} - cwd: {{ source }}
- name: tar -zxf {{ nginx_package }} - name: tar --transform "s,^$(tar --list -zf nginx-{{ version }}.tar.gz | head -n 1),nginx-{{ version }}/," -zxf {{ nginx_package }}
- require: - require:
- pkg: get-nginx - pkg: get-nginx
- file: get-nginx - file: get-nginx
@ -114,12 +117,17 @@ get-ngx_devel_kit:
- file: get-ngx_devel_kit - file: get-ngx_devel_kit
{% endif %} {% endif %}
nginx-source-modified: is-nginx-source-modified:
cmd.run: cmd.run:
- cwd: {{ nginx_source }} - cwd: {{ source }}
- stateful: True - stateful: True
- names: - names:
- m=$(find . \! -name "build.*" -newer {{ sbin_dir }}/nginx -print -quit); - if [ ! -d "nginx-{{ version }}" ]; then
echo "changed=yes comment='Tarball has not yet been extracted'";
exit 0;
fi;
cd "nginx-{{ version }}";
m=$(find . \! -name "build.*" -newer {{ sbin_dir }}/nginx -print -quit);
r=$?; r=$?;
if [ x$r != x0 ]; then if [ x$r != x0 ]; then
echo "changed=yes comment='binary file does not exist or other find error'"; echo "changed=yes comment='binary file does not exist or other find error'";
@ -132,7 +140,7 @@ nginx-source-modified:
echo "changed=no comment='source files are older than binary'" echo "changed=no comment='source files are older than binary'"
{% for name, module in nginx.get('modules', {}).items() -%} {% for name, module in nginx.get('modules', {}).items() -%}
nginx-module-modified-{{name}}: is-nginx-module-modified-{{name}}:
cmd.run: cmd.run:
- cwd: {{ nginx_modules_dir }}/{{name}} - cwd: {{ nginx_modules_dir }}/{{name}}
- stateful: True - stateful: True
@ -193,9 +201,9 @@ nginx:
{% endif %} {% endif %}
- watch: - watch:
- cmd: get-nginx - cmd: get-nginx
- cmd: nginx-source-modified - cmd: is-nginx-source-modified
{% for name, module in nginx.get('modules', {}).items() -%} {% for name, module in nginx.get('modules', {}).items() -%}
- cmd: nginx-module-modified-{{name}} - cmd: is-nginx-module-modified-{{name}}
- file: get-nginx-{{name}} - file: get-nginx-{{name}}
{% endfor %} {% endfor %}
{% if use_sysvinit %} {% if use_sysvinit %}
@ -210,23 +218,28 @@ nginx:
{% for name, module in nginx.get('modules', {}).items() -%} {% for name, module in nginx.get('modules', {}).items() -%}
- file: get-nginx-{{name}} - file: get-nginx-{{name}}
{% endfor %} {% endfor %}
- require_in:
- service: nginx
file: file:
- managed - managed
- template: jinja - template: jinja
- name: /etc/init.d/nginx - name: /etc/init.d/{{ service_name }}
- source: salt://nginx/templates/nginx.init.jinja - source: salt://nginx/templates/nginx.init.jinja
- user: root - user: root
- group: root - group: root
- mode: 0755 - mode: 0755
- context: - context:
service_name: {{ service_name }}
sbin_dir: {{ sbin_dir }} sbin_dir: {{ sbin_dir }}
pid_path: {{ pid_path }} pid_path: {{ pid_path }}
service: service:
{% if service_enable %}
- running - running
- enable: True - enable: True
- restart: True - restart: True
{% else %}
- dead
- enable: False
{% endif %}
- name: {{ service_name }}
- watch: - watch:
- cmd: nginx - cmd: nginx
- file: {{ conf_dir }}/nginx.conf - file: {{ conf_dir }}/nginx.conf
@ -238,19 +251,14 @@ nginx:
{{ conf_dir }}/{{ file }}: {{ conf_dir }}/{{ file }}:
file: file:
- absent - absent
watch: - require_in:
- cmd: nginx - service: nginx
{{ conf_dir }}/{{ file }}.default:
file:
- absent
watch:
- cmd: nginx
{% endfor %} {% endfor %}
{% for file in nginx.get('delete_htdocs', []) %} {% for file in nginx.get('delete_htdocs', []) %}
{{ install_prefix }}/html/{{ file }}: {{ install_prefix }}/html/{{ file }}:
file: file:
- absent - absent
watch: - require_in:
- cmd: nginx - service: nginx
{% endfor %} {% endfor %}

View File

@ -1,23 +1,23 @@
#!/bin/sh #!/bin/sh
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: nginx # Provides: {{ service_name }}
# Required-Start: $local_fs $remote_fs $network $syslog # Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: starts the nginx web server # Short-Description: starts the {{ service_name }} web server
# Description: starts nginx using start-stop-daemon # Description: starts {{ service_name }} using start-stop-daemon
### END INIT INFO ### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON={{ sbin_dir }}/nginx DAEMON={{ sbin_dir }}/nginx
NAME=nginx NAME={{ service_name }}
DESC=nginx DESC={{ service_name }}
# Include nginx defaults if available # Include nginx defaults if available
if [ -f /etc/default/nginx ]; then if [ -f /etc/default/$NAME ]; then
. /etc/default/nginx . /etc/default/$NAME
fi fi
test -x $DAEMON || exit 0 test -x $DAEMON || exit 0