40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
---
|
|
- name: Template the system service
|
|
ansible.builtin.template:
|
|
src: healthcheck@.service.j2
|
|
dest: /etc/systemd/system/healthcheck@.service
|
|
mode: "0644"
|
|
become: true
|
|
- name: Copy the system timer
|
|
ansible.builtin.copy:
|
|
src: healthcheck@.timer
|
|
dest: /etc/systemd/system/healthcheck@.timer
|
|
mode: "0644"
|
|
become: true
|
|
|
|
- name: Get all healthcheck timers
|
|
ansible.builtin.shell:
|
|
cmd: "systemctl list-timers 'healthcheck@*' --all --output=json | jq -r '.[].unit'"
|
|
register: systemd_timers_result
|
|
changed_when: false
|
|
|
|
- name: Generate systemd timer names
|
|
ansible.builtin.set_fact:
|
|
healthcheck_systemd_timers: "{{ healthcheck_svc.checks | list_prefix_suffix('healthcheck@', '.timer') }}"
|
|
|
|
- name: Disable unused system timers
|
|
ansible.builtin.systemd_service:
|
|
name: "{{ item }}"
|
|
state: stopped
|
|
enabled: false
|
|
loop: "{{ systemd_timers_result.stdout_lines | difference(healthcheck_systemd_timers) }}"
|
|
become: true
|
|
|
|
- name: Enable the system timer
|
|
ansible.builtin.systemd_service:
|
|
name: "{{ item }}"
|
|
state: started
|
|
enabled: true
|
|
daemon_reload: true
|
|
loop: "{{ healthcheck_systemd_timers }}"
|
|
become: true
|