Skip to content

Commit 31727d8

Browse files
authored
Merge pull request #20 from onaio/add-group
Makes Several Improvements to Role
2 parents 0f05f30 + 4524dc2 commit 31727d8

File tree

8 files changed

+39
-19
lines changed

8 files changed

+39
-19
lines changed

defaults/main.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,12 @@ django_pid_file: "{{ django_pid_socks_dir }}/{{ django_service_name }}.pid"
4040
django_proxy_read_timeout: "300s"
4141
django_environment_script_name: environment.sh
4242
django_environment_vars: []
43+
django_celeryd_extra_env_vars: []
44+
django_celerybeat_extra_env_vars: []
4345

4446
# Python packages
47+
# Set django_apt_python_ppa to blank string if you don't want to install any PPA
48+
django_apt_python_ppa: "ppa:deadsnakes/ppa"
4549
django_recreate_virtual_env: False
4650

4751
## pipenv
@@ -64,6 +68,7 @@ django_init_commands:
6468
- collectstatic --noinput
6569
django_static_path: "/var/www/static/"
6670
django_media_path: "/var/www/media/"
71+
django_media_path_mode: "0755"
6772
django_settings_module:
6873

6974
# template settings path
@@ -115,7 +120,7 @@ django_wsgi_http:
115120
django_wsgi_socket: "{{ django_pid_socks_dir }}/{{ django_service_name }}.sock"
116121
django_wsgi_chmod_socket: 777
117122
django_wsgi_user: "{{ django_system_user }}"
118-
django_wsgi_group: "www-data"
123+
django_wsgi_group: "{{ django_system_group }}"
119124
django_wsgi_vacuum: True
120125
django_wsgi_master: True
121126
django_wsgi_logto: "{{ django_log_path }}/uwsgi_{{ django_service_name }}.log"

handlers/main.yml

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
---
2-
- name: reload systemctl
3-
command: systemctl daemon-reload
4-
when:
5-
- django_manage_services == True
6-
72
- name: restart_service
8-
service:
3+
systemd:
94
name: "{{ django_service_name }}"
105
state: restarted
6+
enabled: true
7+
daemon_reload: true
118
when:
129
- django_manage_services == True
1310

1411
- name: restart_celery
15-
service:
12+
systemd:
1613
name: "{{ item }}"
1714
state: restarted
15+
enabled: true
16+
daemon_reload: true
1817
with_items:
1918
- "{{ django_celeryd_service_name }}"
2019
- "{{ django_celerybeat_service_name }}"

tasks/celery.yml

-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
dest: "/etc/systemd/system/{{ django_celeryd_service_name }}.service"
1818
mode: 0644
1919
notify:
20-
- reload systemctl
2120
- restart_celery
2221

2322
- name: Copy celerybeat upstart script
@@ -26,5 +25,4 @@
2625
dest: "/etc/systemd/system/{{ django_celerybeat_service_name }}.service"
2726
mode: 0644
2827
notify:
29-
- reload systemctl
3028
- restart_celery

tasks/configure.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,24 @@
77
with_items: "{{ django_init_commands }}"
88
become_user: "{{ django_system_user }}"
99

10-
- name: Changing static folder permission
10+
- name: Make sure the static folder exists
1111
file:
1212
path: "{{ django_static_path }}"
13+
state: directory
1314
owner: "{{ django_system_user }}"
1415
group: "{{ django_system_group }}"
1516
mode: 0755
1617
when:
1718
- django_static_path is defined
1819
- django_static_path is not none
1920

20-
- name: Changing mediafolder permission
21+
- name: Make sure the mediafolder exists
2122
file:
2223
path: "{{ django_media_path }}"
24+
state: directory
2325
owner: "{{ django_system_user }}"
2426
group: "{{ django_system_group }}"
25-
mode: 0755
27+
mode: "{{ django_media_path_mode }}"
2628
when:
2729
- django_media_path is defined
2830
- django_media_path is not none

tasks/install.yml

+10-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
- name: Add system group
2+
group:
3+
name: "{{ django_system_group }}"
4+
state: present
5+
16
- name: Add system user
27
user:
38
name: "{{ django_system_user }}"
@@ -6,10 +11,13 @@
611
append: yes
712
createhome: yes
813

9-
- name: Add deadsnakes ppa
10-
shell: "add-apt-repository ppa:deadsnakes/ppa -y"
14+
- name: Add Python PPA
15+
apt_repository:
16+
repo: "{{ django_apt_python_ppa }}"
17+
state: present
1118
become: true
1219
become_user: root
20+
when: django_apt_python_ppa is defined and django_apt_python_ppa != ""
1321

1422
- name: Update apt cache
1523
apt:
@@ -42,11 +50,8 @@
4250
with_items:
4351
- "{{ django_pid_socks_dir }}"
4452
- "{{ django_versioned_path }}"
45-
- "{{ django_checkout_path }}"
4653
- "{{ django_venv_path }}"
4754
- "{{ django_log_path }}"
48-
- "{{ django_static_path }}"
49-
- "{{ django_media_path }}"
5055
- "{{ django_system_user_home }}/.ssh"
5156

5257
- name: Copy git key from string

tasks/service.yml

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
dest: /etc/systemd/system/{{ item }}
1616
mode: 0644
1717
notify:
18-
- reload systemctl
1918
- restart_service
2019
with_items:
2120
- "{{ django_service_name }}.service"

templates/etc/default/celerybeat.j2

+6
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,9 @@ CELERYBEAT_PID_FILE="/var/run/{{ django_system_user }}/celerybeat.pid"
3131
# in this case is just settings and not the full path because it will change the dir to
3232
# the project folder first.
3333
DJANGO_SETTINGS_MODULE="{{ django_settings_module }}"
34+
35+
{% if django_celerybeat_extra_env_vars | length > 0 %}
36+
{% for var_name,var_value in django_celerybeat_extra_env_vars.items() %}
37+
{{ var_name }}={{ var_value }}
38+
{% endfor %}
39+
{% endif %}

templates/etc/default/celeryd.j2

+6
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,9 @@ CELERY_CREATE_DIRS=1
3636
C_FORCE_ROOT=1
3737
CELERYD_LOG_LEVEL="{{ django_celeryd_log_level }}"
3838
DJANGO_SETTINGS_MODULE="{{ django_settings_module }}"
39+
40+
{% if django_celeryd_extra_env_vars | length > 0 %}
41+
{% for var_name,var_value in django_celeryd_extra_env_vars.items() %}
42+
{{ var_name }}={{ var_value }}
43+
{% endfor %}
44+
{% endif %}

0 commit comments

Comments
 (0)