Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!jinja|yaml
- {% set projects = pillar.get('projects',{}).get('active',{}) %}
- {% set logger_types = ('access', 'error') %}
- # salt '*' pip.install <package name> bin_env=/path/to/virtualenv
- {% for proj_name, proj_conf in projects.iteritems() %}
- {% set domain = proj_conf.get('domain','') %}
- {% set proj_home = "/var/www/" + domain %}
- {% if proj_name == 'main' and grains.get('id', '') == 'server1' %}
- {{ proj_home }}/gunicorn.conf:
- file:
- - managed
- - name: {{ proj_home }}/gunicorn.conf
- - source: salt://gunicorn/gunicorn.conf
- - template: jinja
- - context:
- - domain: {{ domain }}
- - proj_name: {{ proj_name }}
- - bound_port: {{ proj_conf.get('port', '8000') }}
- {% if proj_conf.get('django', False) -%}
- - django_settings_module: {{ proj_home }}/{{ proj_conf.get('short', proj_name) }}/settings.py
- {% endif -%}
- /etc/init/{{ proj_name }}_gunicorn.conf:
- file:
- - managed
- - name: /etc/init/{{ proj_name }}_gunicorn.conf
- - template: jinja
- - user: root
- - group: root
- - mode: 440
- - source: salt://gunicorn/upstart.jinja
- - context:
- proj_name: {{ proj_name }}
- domain: {{ domain }}
- {% for log_type in ('error','access') %}
- gunicorn-logger-{{ proj_name }}-{{ log_type }}.conf:
- file:
- - managed
- - name: /etc/init/gunicorn-logger-{{ proj_name }}-{{ log_type }}.conf
- - template: jinja
- - user: root
- - group: root
- - mode: 440
- - source: salt://gunicorn/upstart-logger.jinja
- - context:
- type: {{ log_type }}
- proj_name: {{ proj_name }}
- service.running:
- - enable: True
- - require:
- - file: gunicorn-logger-{{ proj_name }}-{{ log_type }}.conf
- - require_in:
- - service: gunicorn
- {% endfor %}
- gunicorn_{{ proj_name }}:
- pip.installed:
- - name: gunicorn
- - bin_env: /var/www/{{ domain }}
- - require:
- - pkg: python-pip
- - file: {{ proj_home }}/run
- service.running:
- - name: gunicorn
- - enable: True
- - restart: True
- - bin_env: /var/www/{{ domain }}
- - onchanges:
- - file: {{ proj_home }}/gunicorn.conf
- - file: {{ proj_home }}/run
- - pkg: gunicorn
- {% endif %}
- {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement