From 88779966a1c2ba23af97fe32e1ddf04ee0709908 Mon Sep 17 00:00:00 2001 From: Adam Sclafani Date: Sun, 6 Sep 2020 13:00:54 -1000 Subject: [PATCH] add webapp restarter daemon --- roles/lokole/tasks/install.yml | 11 +++++++++++ roles/lokole/tasks/main.yml | 7 +++++++ roles/lokole/templates/restarter.service.j2 | 10 ++++++++++ roles/lokole/templates/webapp-restart.sh.j2 | 5 +++++ 4 files changed, 33 insertions(+) create mode 100644 roles/lokole/templates/restarter.service.j2 create mode 100644 roles/lokole/templates/webapp-restart.sh.j2 diff --git a/roles/lokole/tasks/install.yml b/roles/lokole/tasks/install.yml index 05ae02fa8..c436ea6d0 100644 --- a/roles/lokole/tasks/install.yml +++ b/roles/lokole/tasks/install.yml @@ -93,6 +93,12 @@ dest: "{{ lokole_run_directory }}/run-celery.sh" mode: a+x +- name: Install {{ lokole_run_directory }}/webapp-restart.sh from template + template: + src: webapp-restart.sh.j2 + dest: "{{ lokole_run_directory }}/webapp-restart.sh" + mode: a+x + - name: Install {{ lokole_run_directory }}/celerybeat.sh from template template: src: celerybeat.sh.j2 @@ -109,6 +115,11 @@ src: celerybeat.service.j2 dest: /etc/systemd/system/celerybeat.service +- name: Install /etc/systemd/system/restarter.service unit file from template + template: + src: restarter.service.j2 + dest: /etc/systemd/system/restarter.service + - name: Create admin user with password, for http://box{{ lokole_url }} # http://box/lokole shell: | . {{ lokole_run_directory }}/webapp_secrets.sh diff --git a/roles/lokole/tasks/main.yml b/roles/lokole/tasks/main.yml index 3ad999873..d7fd5a372 100644 --- a/roles/lokole/tasks/main.yml +++ b/roles/lokole/tasks/main.yml @@ -46,6 +46,13 @@ state: started when: lokole_enabled | bool +- name: Enable restarter service + systemd: + name: restarter + enabled: yes + state: started + when: lokole_enabled | bool + - name: Disable & Stop 'lokole' systemd service, if not lokole_enabled systemd: name: lokole diff --git a/roles/lokole/templates/restarter.service.j2 b/roles/lokole/templates/restarter.service.j2 new file mode 100644 index 000000000..1469e6f92 --- /dev/null +++ b/roles/lokole/templates/restarter.service.j2 @@ -0,0 +1,10 @@ +[Unit] +Description=Lokole webapp restarter +After=network.target + +[Service] +Type=simple +ExecStart=/bin/bash {{ lokole_run_directory }}/webapp-restart.sh + +[Install] +WantedBy=multi-user.target diff --git a/roles/lokole/templates/webapp-restart.sh.j2 b/roles/lokole/templates/webapp-restart.sh.j2 new file mode 100644 index 000000000..7b0fdce6b --- /dev/null +++ b/roles/lokole/templates/webapp-restart.sh.j2 @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +'{{lokole_venv}}/bin/manage.py' \ + 'restarter' \ + '--directory={{lokole_run_directory}}'