infra/setup_dyndns.yml
2021-12-07 16:53:18 +01:00

86 lines
1.7 KiB
YAML

---
- name: Set local facts
set_fact:
dyndns_sqlite_dbfile: /var/lib/dyndns/db.sqlite3
- name: Copy nsd config
copy:
src: nsd.conf
dest: /etc/nsd/nsd.conf
owner: root
group: root
mode: 0644
- name: Disable systemd-resolved
systemd:
name: systemd-resolved.service
enabled: no
state: stopped
- name: Enable and launch nsd systemd service
systemd:
name: nsd.service
enabled: yes
state: restarted
- name: Create dyndns worker user and group
user:
name: uwsgi-dyndns
create_home: no
group: uwsgi
password: '!'
shell: /sbin/nologin
system: yes
- name: Allow dyndns app to kick nsd
lineinfile:
path: /etc/sudoers
line: 'uwsgi-dyndns ALL=(nsd) NOPASSWD: /usr/sbin/nsd-control reload dyn.jaseg.de'
- name: Create webapp dir
file:
path: /var/lib/dyndns
state: directory
owner: uwsgi-dyndns
group: nsd
mode: 0750
- name: Copy webapp sources
copy:
src: dyndns.py
dest: /var/lib/dyndns/
owner: uwsgi-dyndns
group: uwsgi
mode: 0440
- name: Template webapp config
template:
src: dyndns_config.py.j2
dest: /var/lib/dyndns/config.py
owner: uwsgi-dyndns
group: root
mode: 0660
- name: Copy uwsgi config
copy:
src: uwsgi-dyndns.ini
dest: /etc/uwsgi.d/dyndns.ini
owner: uwsgi-dyndns
group: uwsgi
mode: 0440
- name: Enable uwsgi systemd socket
systemd:
daemon-reload: yes
name: uwsgi-app@dyndns.socket
enabled: yes
- name: Create sqlite db file
file:
path: "{{dyndns_sqlite_dbfile}}"
owner: uwsgi-dyndns
group: uwsgi
mode: 0660
state: touch