0001-add-uwsgi-as-available-application-server-50525.patch
roles/app-setup/tasks/main.yml | ||
---|---|---|
107 | 107 |
src: server-supervisor.j2 |
108 | 108 |
dest: "/etc/supervisor/conf.d/{{server_app_name}}.conf" |
109 | 109 |
become: yes |
110 | ||
111 |
- name: "{{app_name}} - copy uwsgi configuration file" |
|
112 |
copy: |
|
113 |
src: "{{uwsgi_settings_orig}}" |
|
114 |
dest: "{{uwsgi_settings}}" |
|
115 | ||
116 |
- name: "{{app_name}} - remove cron option from uwsgi configuration file" |
|
117 |
lineinfile: |
|
118 |
path: "{{uwsgi_settings}}" |
|
119 |
regexp: '^cron' |
|
120 |
state: absent |
|
121 | ||
122 |
- name: "{{app_name}} - change http-to option in uwsgi configuration file" |
|
123 |
ini_file: |
|
124 |
path: "{{uwsgi_settings}}" |
|
125 |
section: uwsgi |
|
126 |
option: http-socket |
|
127 |
value: ":{{server_port}}" |
|
128 | ||
129 |
- name: "{{app_name}} - set py-auto-reload in uwsgi configuration file" |
|
130 |
ini_file: |
|
131 |
path: "{{uwsgi_settings}}" |
|
132 |
section: uwsgi |
|
133 |
option: py-auto-reload |
|
134 |
value: 1 |
|
135 | ||
136 |
- name: '{{app_name}} - change local configuration path in uwsgi configuration file' |
|
137 |
replace: |
|
138 |
path: '{{uwsgi_settings}}' |
|
139 |
regexp: '/etc/{{project_name}}/' |
|
140 |
replace: '{{app_settings_dir}}/settings.d/' |
|
141 | ||
142 |
- name: "{{app_name}} - uwsgi server supervisor configuration" |
|
143 |
template: |
|
144 |
src: server-uwsgi-supervisor.j2 |
|
145 |
dest: "/etc/supervisor/conf.d/{{server_app_name}}-uwsgi.conf" |
|
146 |
become: yes |
|
147 | ||
148 |
- name: "{{app_name}} - create {{run_dir}} directory" |
|
149 |
file: |
|
150 |
path: "{{run_dir}}" |
|
151 |
state: directory |
|
152 |
owner: "{{user}}" |
|
153 |
group: "{{user}}" |
|
154 |
become: yes |
roles/app-setup/templates/server-uwsgi-supervisor.j2 | ||
---|---|---|
1 |
[program:{{server_app_name}}-uwsgi] |
|
2 |
; Concurrency set to 1 because there is no lock around calls to hobo_notify |
|
3 |
command=/usr/bin/uwsgi --ini {{uwsgi_settings}} -H {{venv_py3}} --spooler {{state_dir}}/spooler/ |
|
4 |
environment={{settings_env_var}}="{{app_settings}}" |
|
5 |
process_name={{server_app_name}}-uwsgi |
|
6 |
user={{user}} |
|
7 |
numprocs=1 |
|
8 |
stdout_logfile={{log_dir}}/stdout.log |
|
9 |
stderr_logfile={{log_dir}}/stderr.log |
|
10 | ||
11 |
autostart=false |
|
12 |
autorestart=true |
|
13 |
startsecs=10 |
|
14 |
; Need to wait for currently executing tasks to finish at shutdown. |
|
15 |
; Increase this if you have very long running tasks. |
|
16 |
stopwaitsecs = 600 |
|
17 | ||
18 |
stopsignal=KILL |
|
19 |
; When resorting to send SIGKILL to the program to terminate it |
|
20 |
; send SIGKILL to its whole process group instead, |
|
21 |
; taking care of its children as well. |
|
22 |
killasgroup=true |
|
23 |
stopasgroup=true |
|
24 | ||
25 |
; if rabbitmq is supervised, set its priority higher |
|
26 |
; so it starts first |
|
27 |
priority=998 |
|
28 |
roles/app-setup/vars/main.yml | ||
---|---|---|
1 | 1 |
log_dir: "/var/log/{{server_app_name}}" |
2 |
run_dir: "/run/{{project_name}}" |
|
2 | 3 |
state_dir: "/var/lib/{{project_name}}" |
3 | 4 |
tenants_dir: "/var/lib/{{project_name}}/tenants" |
5 |
uwsgi_settings: "{{publik_settings}}/{{project_name}}/uwsgi.ini" |
roles/authentic/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['authentic']['project_name']}}" |
9 | 9 |
server_port: "{{apps['authentic']['server_port']}}" |
10 | 10 |
settings_env_var: AUTHENTIC2_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/authentic2-multitenant-uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
roles/base/tasks/main.yml | ||
---|---|---|
29 | 29 |
- virtualenv |
30 | 30 |
- pkg-config |
31 | 31 |
- libsystemd-dev |
32 |
- uwsgi |
|
33 |
- uwsgi-plugin-python3 |
|
34 |
- python3-uwsgidecorators |
|
32 | 35 |
state: present |
33 | 36 |
become: yes |
34 | 37 | |
... | ... | |
107 | 110 |
- name: execute getlasso |
108 | 111 |
command: "{{venv_py3_bin}}/getlasso.sh" |
109 | 112 | |
113 |
- name: create get-uwsgidecorators scripts |
|
114 |
template: |
|
115 |
src: get-uwsgidecorators.j2 |
|
116 |
dest: "{{venv_py3_bin}}/get-uwsgidecorators.sh" |
|
117 |
mode: "u=rwx,g=rx,o=rx" |
|
118 |
vars: |
|
119 |
virtualenv_python: "{{venv_py3_python}}" |
|
120 |
system_python: "/usr/bin/python3" |
|
121 | ||
122 |
- name: execute get-uwsgidecorators |
|
123 |
command: "{{venv_py3_bin}}/get-uwsgidecorators.sh" |
|
124 | ||
110 | 125 |
- name: source install eopayment |
111 | 126 |
include_tasks: install_source.yml |
112 | 127 |
vars: |
roles/base/templates/get-uwsgidecorators.j2 | ||
---|---|---|
1 |
#!/bin/sh |
|
2 | ||
3 |
# Get venv site-packages path |
|
4 |
DSTDIR=`{{virtualenv_python}} -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())'` |
|
5 | ||
6 |
SRCDIR=`{{system_python}} -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())'` |
|
7 | ||
8 |
# Clean up |
|
9 |
rm -f $DSTDIR/uwsgidecorators.py* |
|
10 | ||
11 |
# Link |
|
12 |
ln -sv $SRCDIR/uwsgidecorators.py $DSTDIR |
|
13 | ||
14 |
exit 0 |
|
15 |
roles/bijoe/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['bijoe']['project_name']}}" |
9 | 9 |
server_port: "{{apps['bijoe']['server_port']}}" |
10 | 10 |
settings_env_var: BIJOE_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
roles/chrono/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['chrono']['project_name']}}" |
9 | 9 |
server_port: "{{apps['chrono']['server_port']}}" |
10 | 10 |
settings_env_var: CHRONO_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
roles/combo/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['combo']['project_name']}}" |
9 | 9 |
server_port: "{{apps['combo']['server_port']}}" |
10 | 10 |
settings_env_var: COMBO_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
roles/fargo/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['fargo']['project_name']}}" |
9 | 9 |
server_port: "{{apps['fargo']['server_port']}}" |
10 | 10 |
settings_env_var: FARGO_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
roles/hobo/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['hobo']['project_name']}}" |
9 | 9 |
server_port: "{{apps['hobo']['server_port']}}" |
10 | 10 |
settings_env_var: HOBO_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/server/uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
roles/passerelle/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['passerelle']['project_name']}}" |
9 | 9 |
server_port: "{{apps['passerelle']['server_port']}}" |
10 | 10 |
settings_env_var: PASSERELLE_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
roles/wcs/vars/main.yml | ||
---|---|---|
9 | 9 |
project_name: "{{apps['wcs']['project_name']}}" |
10 | 10 |
server_port: "{{apps['wcs']['server_port']}}" |
11 | 11 |
settings_env_var: WCS_SETTINGS_FILE |
12 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/uwsgi.ini" |
|
12 | 13 |
virtualenv: "{{venv_py3}}" |
roles/welco/vars/main.yml | ||
---|---|---|
8 | 8 |
project_name: "{{apps['welco']['project_name']}}" |
9 | 9 |
server_port: "{{apps['welco']['server_port']}}" |
10 | 10 |
settings_env_var: WELCO_SETTINGS_FILE |
11 |
uwsgi_settings_orig: "{{src_dir}}/{{app_name}}/debian/uwsgi.ini" |
|
11 | 12 |
virtualenv: "{{venv_py3}}" |
12 |
- |