ansible/roles/service/tasks/main.yml

82 lines
2.0 KiB
YAML

---
- name: Install service dependencies
apt:
update_cache: true
install_recommends: false
name: "{{ service.dependencies }}"
register: apt_result
retries: 3
until: apt_result is succeeded
when: service.dependencies is defined
- name: Create service directory
file:
path: "{{ service.install_dir }}"
state: directory
mode: "2775"
owner: root
group: _nounou
- name: Set ACL for service directory
acl:
path: "{{ service.install_dir }}"
default: true
entity: _nounou
etype: group
permissions: rwx
state: query
- name: Clone service repository
git:
repo: "{{ service.git.remote }}"
version: "{{ service.git.version }}"
dest: "{{ service.install_dir }}"
umask: "002"
- name: Create generated directory
file:
path: "{{ service.install_dir }}/generated"
state: directory
mode: "2770"
owner: root
group: _nounou
when: service.generated is defined and service.generated
- name: Deploy re2o config
template:
src: service/re2o-config.ini.j2
dest: "{{ service.install_dir }}/re2o-config.ini"
mode: 0600
owner: root
group: root
when: service.re2o is defined
- name: Deploy cron for service
template:
src: cron.d/service.j2
dest: /etc/cron.d/services-{{ service.name }}
when: service.cron is defined and service.cron.frequency is defined
- name: Deploy systemd service
template:
src: systemd/system/service.service.j2
dest: /etc/systemd/system/services-{{ service.name }}.service
notify:
- systemctl daemon-reload
when: service.systemd is defined
- name: Deploy systemd timer
template:
src: systemd/system/service.timer.j2
dest: /etc/systemd/system/services-{{ service.name }}.timer
notify:
- Restart timer
- systemctl daemon-reload
when: service.timer is defined
- name: Deploy service configuration
template:
src: service/config.json
dest: "{{ service.install_dir }}/{{ service.name }}.json"
when: service.config is defined