mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
commit
130aea358b
8 changed files with 90 additions and 16 deletions
|
@ -75,11 +75,13 @@
|
||||||
file:
|
file:
|
||||||
state: directory
|
state: directory
|
||||||
path: "{{ lokole_run_directory }}"
|
path: "{{ lokole_run_directory }}"
|
||||||
|
#mode: a+x # Not nec, given above 'state: directory'
|
||||||
|
|
||||||
- name: Install {{ lokole_run_directory }}/webapp_secrets.sh from template, to configure Lokole
|
- name: Install {{ lokole_run_directory }}/webapp_secrets.sh from template, to configure Lokole
|
||||||
template:
|
template:
|
||||||
src: webapp_secrets.sh.j2
|
src: webapp_secrets.sh.j2
|
||||||
dest: "{{ lokole_run_directory }}/webapp_secrets.sh"
|
dest: "{{ lokole_run_directory }}/webapp_secrets.sh"
|
||||||
|
mode: a+x
|
||||||
|
|
||||||
- name: Install {{ lokole_run_directory }}/webapp.sh from template, to configure Gunicorn
|
- name: Install {{ lokole_run_directory }}/webapp.sh from template, to configure Gunicorn
|
||||||
template:
|
template:
|
||||||
|
@ -96,12 +98,19 @@
|
||||||
template:
|
template:
|
||||||
src: lokole.conf.j2
|
src: lokole.conf.j2
|
||||||
dest: "/etc/{{ apache_conf_dir }}/lokole.conf"
|
dest: "/etc/{{ apache_conf_dir }}/lokole.conf"
|
||||||
|
mode: 0644
|
||||||
when: apache_install | bool
|
when: apache_install | bool
|
||||||
|
|
||||||
- name: Install /etc/systemd/system/lokole.service unit file from template
|
- name: Install unit files {lokole.service, celery.service, celerybeat.service, lokole_restarter.service} into /etc/systemd/system, from template
|
||||||
template:
|
template:
|
||||||
src: lokole.service.j2
|
src: "{{ item.src }}"
|
||||||
dest: /etc/systemd/system/lokole.service
|
dest: "{{ item.dest}}"
|
||||||
|
mode: 0644
|
||||||
|
with_items:
|
||||||
|
- { src: 'lokole.service.j2', dest: '/etc/systemd/system/lokole.service' }
|
||||||
|
- { src: 'celery.service.j2', dest: '/etc/systemd/system/celery.service' }
|
||||||
|
- { src: 'celerybeat.service.j2', dest: '/etc/systemd/system/celerybeat.service' }
|
||||||
|
- { src: 'lokole_restarter.service.j2', dest: '/etc/systemd/system/lokole_restarter.service' }
|
||||||
|
|
||||||
|
|
||||||
# RECORD Lokole AS INSTALLED
|
# RECORD Lokole AS INSTALLED
|
||||||
|
|
|
@ -24,20 +24,34 @@
|
||||||
when: lokole_installed is undefined
|
when: lokole_installed is undefined
|
||||||
|
|
||||||
|
|
||||||
- name: Enable & Restart 'lokole' systemd service, if lokole_enabled
|
- name: Do a 'systemctl daemon-reload' if lokole_enabled
|
||||||
systemd:
|
systemd:
|
||||||
name: lokole
|
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
|
when: lokole_enabled | bool
|
||||||
|
|
||||||
|
- name: Enable & Restart {lokole, celery, celerybeat, lokole_restarter} systemd services, if lokole_enabled
|
||||||
|
systemd:
|
||||||
|
name: "{{ item }}"
|
||||||
enabled: yes
|
enabled: yes
|
||||||
state: restarted
|
state: restarted
|
||||||
when: lokole_enabled | bool
|
when: lokole_enabled | bool
|
||||||
|
with_items:
|
||||||
|
- lokole
|
||||||
|
- celery
|
||||||
|
- celerybeat
|
||||||
|
- lokole_restarter
|
||||||
|
|
||||||
- name: Disable & Stop 'lokole' systemd service, if not lokole_enabled
|
- name: Disable & Stop all 4 (above) systemd services, if not lokole_enabled
|
||||||
systemd:
|
systemd:
|
||||||
name: lokole
|
name: "{{ item }}"
|
||||||
enabled: no
|
enabled: no
|
||||||
state: stopped
|
state: stopped
|
||||||
when: not lokole_enabled
|
when: not lokole_enabled
|
||||||
|
with_items: # @jvonau prefers reverse starting order, if stopping these 4
|
||||||
|
- lokole_restarter
|
||||||
|
- celerybeat
|
||||||
|
- celery
|
||||||
|
- lokole
|
||||||
|
|
||||||
#- name: Enable/Disable/Restart Apache if primary
|
#- name: Enable/Disable/Restart Apache if primary
|
||||||
- name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache
|
- name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache
|
||||||
|
|
14
roles/lokole/templates/celery.service.j2
Normal file
14
roles/lokole/templates/celery.service.j2
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Celery service
|
||||||
|
After=network.target
|
||||||
|
After=lokole.service
|
||||||
|
Before=celerybeat.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart={{ lokole_venv }}/bin/celery --app=opwen_email_client.webapp.tasks worker --loglevel=info --concurrency=2
|
||||||
|
ExecReload=/bin/kill -s HUP $MAINPID
|
||||||
|
ExecStop=/bin/kill TERM $MAINPID
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
12
roles/lokole/templates/celerybeat.service.j2
Normal file
12
roles/lokole/templates/celerybeat.service.j2
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Celery beat timed service
|
||||||
|
After=network.target
|
||||||
|
After=celery.service
|
||||||
|
Before=lokole_restarter.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart={{ lokole_venv }}/bin/celery --app=opwen_email_client.webapp.tasks beat --loglevel=info
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
12
roles/lokole/templates/lokole_restarter.service.j2
Normal file
12
roles/lokole/templates/lokole_restarter.service.j2
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Lokole webapp restarter
|
||||||
|
After=network.target
|
||||||
|
After=celerybeat.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory={{ lokole_run_directory }}
|
||||||
|
ExecStart={{ lokole_venv }}/bin/manage.py restarter --directory={{ lokole_run_directory }}
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
|
@ -145,6 +145,15 @@
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ lan_list_result.stdout_lines }}"
|
- "{{ lan_list_result.stdout_lines }}"
|
||||||
|
|
||||||
|
- name: Detect wifi gateway active
|
||||||
|
shell: ip r | grep default | grep {{ discovered_wireless_iface }} | wc -l
|
||||||
|
when: discovered_wireless_iface != "none"
|
||||||
|
register: wifi_gateway_found
|
||||||
|
|
||||||
|
- name: Set has_wifi_gateway for {{ discovered_wireless_iface }} if gateway is detected
|
||||||
|
set_fact:
|
||||||
|
has_wifi_gateway: True
|
||||||
|
when: wifi_gateway_found is defined and (wifi_gateway_found.stdout|int > 0)
|
||||||
|
|
||||||
- name: Set iiab_wireless_lan_iface to {{ discovered_wireless_iface }} if not none
|
- name: Set iiab_wireless_lan_iface to {{ discovered_wireless_iface }} if not none
|
||||||
set_fact:
|
set_fact:
|
||||||
|
|
|
@ -6,13 +6,17 @@
|
||||||
- name: detected_network
|
- name: detected_network
|
||||||
include_tasks: detected_network.yml
|
include_tasks: detected_network.yml
|
||||||
|
|
||||||
- name: "Set 'no_net_restart: True' if discovered_wireless_iface == iiab_wan_iface"
|
#- name: "Set 'no_net_restart: True' if discovered_wireless_iface == iiab_wan_iface"
|
||||||
|
- name: "Set 'no_net_restart: True' if has_wifi_gateway is defined"
|
||||||
set_fact:
|
set_fact:
|
||||||
no_net_restart: True # 2020-05-09: Var is currently used in 10 files:
|
no_net_restart: True # 2020-09-12:
|
||||||
# 0-init/defaults/main.yml, network/tasks/main.yml, debian.yml,
|
# 0-init/defaults/main.yml - default boolean value of False
|
||||||
# detected_network.yml, down-debian.yml, NM-debian.yml, restart.yml,
|
# network/tasks/main.yml - changes flag based on conditional present
|
||||||
# sysd-netd-debian.yml, computed_services.yml, rpi_debian.yml
|
# Var is currently used in 9 subsequent files, to suppress restarting of
|
||||||
when: discovered_wireless_iface == iiab_wan_iface
|
# hostapd, dnsmasq and/or other networking service in computed_services.yml,
|
||||||
|
# debian.yml, detected_network.yml, down-debian.yml, netplan.yml,
|
||||||
|
# NM-debian.yml, restart.yml, rpi_debian.yml, sysd-netd-debian.yml
|
||||||
|
when: has_wifi_gateway is defined
|
||||||
|
|
||||||
- name: computed_network
|
- name: computed_network
|
||||||
include_tasks: computed_network.yml
|
include_tasks: computed_network.yml
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
2. Without PHP available via FastCGI, any function at all for PHP-based applications validates NGINX.
|
2. Without PHP available via FastCGI, any function at all for PHP-based applications validates NGINX.
|
||||||
|
|
||||||
3. Current state of IIAB App/Service migrations as of 2020-08-24:
|
3. Current state of IIAB App/Service migrations as of 2020-09-12:
|
||||||
|
|
||||||
1. These support "Native" NGINX but ***NOT*** Apache
|
1. These support "Native" NGINX but ***NOT*** Apache
|
||||||
* Admin Console
|
* Admin Console
|
||||||
|
@ -49,4 +49,4 @@
|
||||||
* phpmyadmin [*, requires Apache for now, as in Section iii.]
|
* phpmyadmin [*, requires Apache for now, as in Section iii.]
|
||||||
* transmission [*]
|
* transmission [*]
|
||||||
|
|
||||||
[*] The 6 above starred roles could use improvement, as of 2020-08-24.
|
[*] The 6 above starred roles could use improvement, as of 2020-09-12.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue