refactored to timer routine

This commit is contained in:
Kevin Veen-Birkenbach 2024-01-04 13:27:07 +01:00
parent 0fd1093dcd
commit a251871fd0
43 changed files with 152 additions and 335 deletions

View File

@ -1,16 +1,4 @@
- name: "reload backup-docker-to-local.service" - name: "reload backup-docker-to-local.service"
systemd: systemd:
name: backup-docker-to-local.service name: backup-docker-to-local.service
daemon_reload: yes daemon_reload: yes
- name: "reload backup-docker-to-local-everything.service"
systemd:
name: backup-docker-to-local-everything.service
daemon_reload: yes
- name: "restart backup-docker-to-local.timer"
systemd:
name: backup-docker-to-local.timer
state: started
enabled: yes
daemon_reload: yes

View File

@ -34,11 +34,16 @@
notify: reload backup-docker-to-local.service notify: reload backup-docker-to-local.service
when: run_once_backup_docker_to_local is not defined when: run_once_backup_docker_to_local is not defined
- name: configure backup-docker-to-local.timer.tpl - name: set service_name to the name of the current role
template: src=backup-docker-to-local.timer.j2 dest=/etc/systemd/system/backup-docker-to-local.timer set_fact:
register: backup_docker_to_local_timer service_name: "{{ role_name }}"
changed_when: backup_docker_to_local_timer.changed or activate_all_timers | bool when: run_once_backup_docker_to_local is not defined
notify: restart backup-docker-to-local.timer
- name: "include role for systemd-timer for {{service_name}}"
include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_backup_docker_to_local}}"
when: run_once_backup_docker_to_local is not defined when: run_once_backup_docker_to_local is not defined
- name: seed database values - name: seed database values

View File

@ -1,10 +0,0 @@
[Unit]
Description=backups the docker volumes
[Timer]
OnCalendar={{on_calendar_backup_docker_to_local}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -14,15 +14,19 @@
template: src=backup-remote-to-local.service.j2 dest=/etc/systemd/system/backup-remote-to-local.service template: src=backup-remote-to-local.service.j2 dest=/etc/systemd/system/backup-remote-to-local.service
notify: reload backup-remote-to-local service notify: reload backup-remote-to-local service
- name: create backup-remote-to-local.timer
template: src=backup-remote-to-local.timer.j2 dest=/etc/systemd/system/backup-remote-to-local.timer
register: backup_backup_remote_to_local_timer
changed_when: backup_backup_remote_to_local_timer.changed or activate_all_timers | bool
notify: restart backup-remote-to-local timer
- name: create backups-remote-to-local.sh - name: create backups-remote-to-local.sh
template: template:
src: backups-remote-to-local.sh.j2 src: backups-remote-to-local.sh.j2
dest: "{{docker_backup_remote_to_local_folder}}backups-remote-to-local.sh" dest: "{{docker_backup_remote_to_local_folder}}backups-remote-to-local.sh"
mode: 0755 mode: 0755
- name: set service_name to the name of the current role
set_fact:
service_name: "{{ role_name }}"
- name: "include role for systemd-timer for {{service_name}}"
include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_backup_remote_to_local}}"

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts pull remote backup timer
[Timer]
OnCalendar={{on_calendar_backup_remote_to_local}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -1,12 +0,0 @@
- name: "restart cleanup-backups.timer"
systemd:
name: cleanup-backups.timer
state: restarted
enabled: yes
daemon_reload: yes
when: run_once_cleanup_backup_timer is not defined
- name: run the cleanup_backup_timer tasks once
set_fact:
run_once_cleanup_backup_timer: true
when: run_once_cleanup_backup_timer is not defined

View File

@ -1,10 +1,13 @@
- name: create cleanup-backups.timer - name: set service_name to the name of the current role
template: set_fact:
src: "cleanup-backups.timer.j2" service_name: "{{ role_name }}"
dest: "/etc/systemd/system/cleanup-backups.timer" when: run_once_cleanup_backups_timer is not defined
register: cleanup_backups_timer
changed_when: cleanup_backups_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart cleanup-backups.timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_cleanup_backups}}"
when: run_once_cleanup_backups_timer is not defined when: run_once_cleanup_backups_timer is not defined
- name: run the cleanup_backups_timer tasks once - name: run the cleanup_backups_timer tasks once

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts cleanup-backups.service
[Timer]
OnCalendar={{on_calendar_cleanup_backups}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -3,9 +3,3 @@
name: cleanup-disc-space.service name: cleanup-disc-space.service
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart cleanup-disc-space.timer"
systemd:
name: cleanup-disc-space.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -15,10 +15,12 @@
dest: /etc/systemd/system/cleanup-disc-space.service dest: /etc/systemd/system/cleanup-disc-space.service
notify: reload cleanup-disc-space.service notify: reload cleanup-disc-space.service
- name: create cleanup-disc-space.timer - name: set service_name to the name of the current role
template: set_fact:
src: cleanup-disc-space.timer.j2 service_name: "{{ role_name }}"
dest: /etc/systemd/system/cleanup-disc-space.timer
register: cleanup_disc_space_timer - name: "include role for systemd-timer for {{service_name}}"
changed_when: cleanup_disc_space_timer.changed or activate_all_timers | bool include_role:
notify: restart cleanup-disc-space.timer name: systemd-timer
vars:
on_calendar: "{{on_calendar_cleanup_disc_space}}"

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts cleanup-disc-space.service
[Timer]
OnCalendar={{on_calendar_cleanup_disc_space}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -2,11 +2,4 @@
systemd: systemd:
name: cleanup-failed-docker-backups.service name: cleanup-failed-docker-backups.service
enabled: yes enabled: yes
daemon_reload: yes
- name: "restart cleanup-failed-docker-backups.timer"
systemd:
name: cleanup-failed-docker-backups.timer
state: restarted
enabled: yes
daemon_reload: yes daemon_reload: yes

View File

@ -19,13 +19,16 @@
notify: reload cleanup-failed-docker-backups.service daemon notify: reload cleanup-failed-docker-backups.service daemon
when: run_once_cleanup_failed_docker_backups is not defined when: run_once_cleanup_failed_docker_backups is not defined
- name: create cleanup-failed-docker-backups.timer - name: set service_name to the name of the current role
template: set_fact:
src: cleanup-failed-docker-backups.timer.j2 service_name: "{{ role_name }}"
dest: /etc/systemd/system/cleanup-failed-docker-backups.timer when: run_once_cleanup_failed_docker_backups is not defined
register: cleanup_failed_docker_backups_timer
changed_when: cleanup_failed_docker_backups_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart cleanup-failed-docker-backups.timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_cleanup_failed_docker}}"
when: run_once_cleanup_failed_docker_backups is not defined when: run_once_cleanup_failed_docker_backups is not defined
- name: run the cleanup_failed_docker_backups tasks once - name: run the cleanup_failed_docker_backups tasks once

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts cleanup-failed-docker-backups.service
[Timer]
OnCalendar={{on_calendar_cleanup_failed_docker}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -4,10 +4,4 @@
name: deploy-letsencrypt-mailu.service name: deploy-letsencrypt-mailu.service
state: restarted state: restarted
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart deploy-letsencrypt-mailu.timer"
systemd:
name: deploy-letsencrypt-mailu.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -54,10 +54,10 @@
dest: "/etc/systemd/system/deploy-letsencrypt-mailu.service" dest: "/etc/systemd/system/deploy-letsencrypt-mailu.service"
notify: restart deploy-letsencrypt-mailu.service notify: restart deploy-letsencrypt-mailu.service
- name: configure deploy-letsencrypt-mailu.timer - name: "include role for systemd-timer for {{service_name}}"
template: include_role:
src: "deploy-letsencrypt-mailu.timer.j2" name: systemd-timer
dest: "/etc/systemd/system/deploy-letsencrypt-mailu.timer" vars:
register: deploy_letsencrypt_mailu_timer on_calendar: "{{on_calendar_deploy_mailu_certificates}}"
changed_when: deploy_letsencrypt_mailu_timer.changed or activate_all_timers | bool service_name: "deploy-letsencrypt-mailu"
notify: restart deploy-letsencrypt-mailu.timer persistent: "true"

View File

@ -1,10 +0,0 @@
[Unit]
Description=Deployment of Let's Encrypt's certificates
[Timer]
OnCalendar={{on_calendar_deploy_mailu_certificates}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -2,9 +2,3 @@
systemd: systemd:
name: heal-docker.service name: heal-docker.service
daemon_reload: yes daemon_reload: yes
- name: "restart heal-docker.timer"
systemd:
name: heal-docker.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -18,13 +18,16 @@
notify: reload heal-docker.service notify: reload heal-docker.service
when: run_once_heal_docker is not defined when: run_once_heal_docker is not defined
- name: create heal-docker.timer - name: set service_name to the name of the current role
template: set_fact:
src: heal-docker.timer.j2 service_name: "{{ role_name }}"
dest: "/etc/systemd/system/heal-docker.timer" when: run_once_heal_docker is not defined
register: heal_docker_timer
changed_when: heal_docker_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart heal-docker.timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_heal_docker}}"
when: run_once_heal_docker is not defined when: run_once_heal_docker is not defined
- name: run the heal_docker tasks once - name: run the heal_docker tasks once

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts heal-docker.service
[Timer]
OnCalendar={{on_calendar_heal_docker}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -2,10 +2,4 @@
systemd: systemd:
name: health-btrfs.service name: health-btrfs.service
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart health-btrfs.timer"
systemd:
name: health-btrfs.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -15,10 +15,12 @@
dest: /etc/systemd/system/health-btrfs.service dest: /etc/systemd/system/health-btrfs.service
notify: reload health-btrfs.service notify: reload health-btrfs.service
- name: create health-btrfs.timer - name: set service_name to the name of the current role
template: set_fact:
src: health-btrfs.timer.j2 service_name: "{{ role_name }}"
dest: "/etc/systemd/system/health-btrfs.timer"
register: health_btrs_timer - name: "include role for systemd-timer for {{service_name}}"
changed_when: health_btrs_timer.changed or activate_all_timers | bool include_role:
notify: restart health-btrfs.timer name: systemd-timer
vars:
on_calendar: "{{on_calendar_health_btrfs}}"

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts health-btrfs.service
[Timer]
OnCalendar={{on_calendar_health_btrfs}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -3,9 +3,3 @@
name: health-disc-space.service name: health-disc-space.service
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart health-disc-space.timer"
systemd:
name: health-disc-space.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -15,10 +15,12 @@
dest: /etc/systemd/system/health-disc-space.service dest: /etc/systemd/system/health-disc-space.service
notify: reload health-disc-space.service notify: reload health-disc-space.service
- name: create health-disc-space.timer - name: set service_name to the name of the current role
template: set_fact:
src: health-disc-space.timer.j2 service_name: "{{ role_name }}"
dest: /etc/systemd/system/health-disc-space.timer
register: health_disc_space_timer - name: "include role for systemd-timer for {{service_name}}"
changed_when: health_disc_space_timer.changed or activate_all_timers | bool include_role:
notify: restart health-disc-space.timer name: systemd-timer
vars:
on_calendar: "{{on_calendar_health_disc_space}}"

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts health-disc-space.service
[Timer]
OnCalendar={{on_calendar_health_disc_space}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -3,9 +3,3 @@
name: health-docker-container.service name: health-docker-container.service
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart health-docker-container.timer"
systemd:
name: health-docker-container.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -16,13 +16,16 @@
notify: reload health-docker-container.service notify: reload health-docker-container.service
when: run_once_health_docker_container is not defined when: run_once_health_docker_container is not defined
- name: create health-docker-container.timer - name: set service_name to the name of the current role
template: set_fact:
src: health-docker-container.timer.j2 service_name: "{{ role_name }}"
dest: "/etc/systemd/system/health-docker-container.timer" when: run_once_health_docker_container is not defined
register: health_docker_container_timer
changed_when: health_docker_container_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart health-docker-container.timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_health_docker_container}}"
when: run_once_health_docker_container is not defined when: run_once_health_docker_container is not defined
- name: run the health_docker_container tasks once - name: run the health_docker_container tasks once

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts health-docker-container.service
[Timer]
OnCalendar={{on_calendar_health_docker_container}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -3,9 +3,3 @@
name: health-docker-volumes.service name: health-docker-volumes.service
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart health-docker-volumes.timer"
systemd:
name: health-docker-volumes.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -16,13 +16,16 @@
notify: reload health-docker-volumes.service notify: reload health-docker-volumes.service
when: run_once_health_docker_volumes is not defined when: run_once_health_docker_volumes is not defined
- name: create health-docker-volumes.timer - name: set service_name to the name of the current role
template: set_fact:
src: health-docker-volumes.timer.j2 service_name: "{{ role_name }}"
dest: "/etc/systemd/system/health-docker-volumes.timer" when: run_once_health_docker_volumes is not defined
register: health_docker_volumes_timer
changed_when: health_docker_volumes_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart health-docker-volumes.timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_health_docker_volumes}}"
when: run_once_health_docker_volumes is not defined when: run_once_health_docker_volumes is not defined
- name: run the health_docker_volumes tasks once - name: run the health_docker_volumes tasks once

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts health-docker-volumes.service
[Timer]
OnCalendar={{on_calendar_health_docker_volumes}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -3,9 +3,3 @@
name: health-journalctl.service name: health-journalctl.service
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart health-journalctl.timer"
systemd:
name: health-journalctl.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -3,22 +3,34 @@
path: "{{health_journalctl_folder}}" path: "{{health_journalctl_folder}}"
state: directory state: directory
mode: 0755 mode: 0755
when: run_once_health_journalctl is not defined
- name: create health-journalctl.sh - name: create health-journalctl.sh
copy: copy:
src: health-journalctl.sh src: health-journalctl.sh
dest: "{{health_journalctl_folder}}health-journalctl.sh" dest: "{{health_journalctl_folder}}health-journalctl.sh"
when: run_once_health_journalctl is not defined
- name: create health-journalctl.service - name: create health-journalctl.service
template: template:
src: health-journalctl.service.j2 src: health-journalctl.service.j2
dest: /etc/systemd/system/health-journalctl.service dest: /etc/systemd/system/health-journalctl.service
notify: reload health-journalctl.service notify: reload health-journalctl.service
when: run_once_health_journalctl is not defined
- name: create health-journalctl.timer - name: set service_name to the name of the current role
template: set_fact:
src: health-journalctl.timer.j2 service_name: "{{ role_name }}"
dest: /etc/systemd/system/health-journalctl.timer when: run_once_health_journalctl is not defined
register: health_journalctl_timer
changed_when: health_journalctl_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart health-journalctl.timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_health_journalctl}}"
when: run_once_health_journalctl is not defined
- name: run the health_journalctl tasks once
set_fact:
run_once_health_journalctl: true
when: run_once_health_journalctl is not defined

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts health-journalctl.service
[Timer]
OnCalendar={{on_calendar_health_journalctl}}
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -3,10 +3,3 @@
name: health-nginx.service name: health-nginx.service
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart health-nginx.timer"
systemd:
name: health-nginx.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -24,13 +24,16 @@
notify: reload health-nginx.service notify: reload health-nginx.service
when: run_once_health_nginx is not defined when: run_once_health_nginx is not defined
- name: create health-nginx.timer - name: set service_name to the name of the current role
template: set_fact:
src: health-nginx.timer.j2 service_name: "{{ role_name }}"
dest: "/etc/systemd/system/health-nginx.timer" when: run_once_health_nginx is not defined
register: health_nginx_timer
changed_when: health_nginx_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart health-nginx.timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_health_nginx}}"
when: run_once_health_nginx is not defined when: run_once_health_nginx is not defined
- name: run the health_nginx tasks once - name: run the health_nginx tasks once

View File

@ -1,10 +0,0 @@
[Unit]
Description=starts health-nginx.service
[Timer]
OnCalendar={{ on_calendar_health_nginx }}
RandomizedDelaySec={{ randomized_delay_sec }}
Persistent=false
[Install]
WantedBy=timers.target

View File

@ -1,12 +1,6 @@
- name: "reload certbot service" - name: "reload certbot service"
systemd: systemd:
name: certbot.service name: nginx-certbot.service
state: reloaded state: reloaded
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: "restart certbot timer"
systemd:
name: certbot.timer
state: restarted
enabled: yes
daemon_reload: yes

View File

@ -4,20 +4,24 @@
state: present state: present
when: run_once_nginx_certbot is not defined when: run_once_nginx_certbot is not defined
- name: configure certbot.service.tpl - name: configure nginx-certbot.service
template: template:
src: certbot.service.j2 src: nginx-certbot.service.j2
dest: /etc/systemd/system/certbot.service dest: /etc/systemd/system/nginx-certbot.service
notify: reload certbot service notify: reload certbot service
when: run_once_nginx_certbot is not defined when: run_once_nginx_certbot is not defined
- name: configure certbot.timer.tpl - name: set service_name to the name of the current role
template: set_fact:
src: certbot.timer.j2 service_name: "{{ role_name }}"
dest: /etc/systemd/system/certbot.timer when: run_once_nginx_certbot is not defined
register: certbot_timer
changed_when: certbot_timer.changed or activate_all_timers | bool - name: "include role for systemd-timer for {{service_name}}"
notify: restart certbot timer include_role:
name: systemd-timer
vars:
on_calendar: "{{on_calendar_renew_lets_encrypt_certificates}}"
persistent: "true"
when: run_once_nginx_certbot is not defined when: run_once_nginx_certbot is not defined
- name: run the nginx_certbot tasks once - name: run the nginx_certbot tasks once

View File

@ -1,10 +0,0 @@
[Unit]
Description=Renewal of Let's Encrypt's certificates
[Timer]
OnCalendar=0/12:00:00
RandomizedDelaySec={{randomized_delay_sec}}
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -4,7 +4,7 @@ Description=Timer to start {{service_name}}.service
[Timer] [Timer]
OnCalendar={{on_calendar}} OnCalendar={{on_calendar}}
RandomizedDelaySec={{randomized_delay_sec}} RandomizedDelaySec={{randomized_delay_sec}}
Persistent=false Persistent={{ persistent | default('false') }}
[Install] [Install]
WantedBy=timers.target WantedBy=timers.target