--- - 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