---
|
- hosts: bastions
|
become: yes
|
tasks:
|
- name: Create application folder
|
file:
|
name: "/opt/status/src"
|
state: directory
|
- name: Copy application files
|
copy:
|
dest: "/opt/status/src/{{ item }}"
|
src: "../{{ item }}"
|
owner: "{{ ansible_user }}"
|
mode: 0644
|
with_items:
|
- requirements.txt
|
- server.py
|
- wsgi.py
|
- name: Create folder
|
file:
|
name: "{{item}}"
|
state: directory
|
owner: "{{ansible_user}}"
|
group: nginx
|
with_items:
|
- /opt/status/run
|
- /opt/status/log
|
- name: Fix selinux context for nginx access
|
shell: |
|
semanage fcontext -a -t httpd_sys_rw_content_t "{{item}}(/.*)?"
|
restorecon -R -v "{{item}}"
|
with_items:
|
- /opt/status/run
|
- /opt/status/log
|
- name: Install python virtualenv
|
pip:
|
name: virtualenv
|
- name: Install python application as a service
|
include_role:
|
name: Stouts.wsgi
|
vars:
|
python_enabled: false
|
wsgi_group: nginx
|
wsgi_applications:
|
- name: status
|
server: gunicorn
|
module: wsgi
|
pip_requirements: requirements.txt
|