gerboweb: Modularize deployment playbooks a bit
This commit is contained in:
parent
5ff592c24c
commit
9358a57bae
13 changed files with 257 additions and 196 deletions
95
setup_gerboweb.yml
Normal file
95
setup_gerboweb.yml
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
---
|
||||
- name: Set local facts
|
||||
set_fact:
|
||||
gerboweb_cache: /var/cache/gerboweb
|
||||
|
||||
- name: Copy render script
|
||||
template:
|
||||
src: render.sh.j2
|
||||
dest: /usr/local/sbin/gerbolyze_render.sh
|
||||
mode: ug+x
|
||||
|
||||
- name: Copy vector script
|
||||
template:
|
||||
src: vector.sh.j2
|
||||
dest: /usr/local/sbin/gerbolyze_vector.sh
|
||||
mode: ug+x
|
||||
|
||||
- name: Install packages into gerbolyze container
|
||||
shell: arch-chroot "{{gerboweb_root}}" pacman -Syu --noconfirm python3 opencv hdf5 gtk3 python-numpy python-pip imagemagick unzip zip
|
||||
|
||||
# TODO maybe install directly from local git checkout?
|
||||
- name: Install gerbolyze
|
||||
shell: arch-chroot "{{gerboweb_root}}" pip install -U --upgrade-strategy=eager gerbolyze
|
||||
|
||||
- name: Copy webapp sources
|
||||
synchronize:
|
||||
# FIXME: make this path configurable
|
||||
src: ~/gerbolyze/gerboweb/
|
||||
dest: /var/lib/gerboweb/
|
||||
group: no
|
||||
owner: no
|
||||
|
||||
- name: Create uwsgi worker user and group
|
||||
user:
|
||||
name: uwsgi-gerboweb
|
||||
create_home: no
|
||||
group: uwsgi
|
||||
password: '!'
|
||||
shell: /sbin/nologin
|
||||
system: yes
|
||||
|
||||
- name: Template webapp config
|
||||
template:
|
||||
src: gerboweb.cfg.j2
|
||||
dest: /var/lib/gerboweb/gerboweb_prod.cfg
|
||||
owner: uwsgi-gerboweb
|
||||
group: root
|
||||
mode: 0660
|
||||
|
||||
- name: Copy uwsgi config
|
||||
copy:
|
||||
src: uwsgi-gerboweb.ini
|
||||
dest: /etc/uwsgi.d/gerboweb.ini
|
||||
owner: uwsgi-gerboweb
|
||||
group: uwsgi
|
||||
mode: 440
|
||||
|
||||
- name: Copy job processor systemd service config
|
||||
template:
|
||||
src: gerboweb-job-processor.service.j2
|
||||
dest: /etc/systemd/system/gerboweb-job-processor.service
|
||||
|
||||
- name: Enable uwsgi systemd socket
|
||||
systemd:
|
||||
daemon-reload: yes
|
||||
name: uwsgi-app@gerboweb.socket
|
||||
enabled: yes
|
||||
|
||||
- name: Copy gerboweb cache dir tmpfiles.d config
|
||||
template:
|
||||
src: tmpfiles-gerboweb.conf.j2
|
||||
dest: /etc/tmpfiles.d/gerboweb.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
register: tmpfiles_config
|
||||
|
||||
- name: Kick systemd tmpfiles service to create cache dir
|
||||
command: systemd-tmpfiles --create
|
||||
when: tmpfiles_config is changed
|
||||
|
||||
- name: Create job queue db
|
||||
file:
|
||||
path: "{{gerboweb_cache}}/job_queue.sqlite3"
|
||||
owner: root
|
||||
group: uwsgi
|
||||
mode: 0660
|
||||
state: touch
|
||||
|
||||
- name: Enable and launch job processor
|
||||
systemd:
|
||||
name: gerboweb-job-processor.service
|
||||
enabled: yes
|
||||
state: restarted
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue