mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-30 15:28:12 +02:00
Refactor systemctl services and timers
- Unified service templates into generic systemctl templates - Introduced reusable filter plugins for script path handling - Updated path variables and service/timer definitions - Migrated roles (backup, cleanup, repair, etc.) to use systemctl role - Added sys-daemon role for core systemd cleanup - Simplified timer handling via sys-timer role Note: This is a large refactor and some errors may still exist. Further testing and adjustments will be needed.
This commit is contained in:
@@ -7,9 +7,9 @@ This role configures a systemd timer to periodically start a corresponding servi
|
||||
## Overview
|
||||
|
||||
Optimized for automated task scheduling in a [systemd](https://en.wikipedia.org/wiki/Systemd) environment, this role:
|
||||
- Generates a timer unit file for a given service (using the `service_name` variable).
|
||||
- Generates a timer unit file for a given service (using the `systemctl_timer_service` variable).
|
||||
- Reloads and restarts the timer using systemd to ensure that changes take effect.
|
||||
- Supports dynamic configuration of scheduling parameters via variables like `on_calendar` and `RANDOMIZED_DELAY_SEC`.
|
||||
- Supports dynamic configuration of scheduling parameters via variables like `systemctl_on_calendar` and `RANDOMIZED_DELAY_SEC`.
|
||||
|
||||
## Purpose
|
||||
|
||||
|
@@ -1,15 +1,9 @@
|
||||
- block:
|
||||
- name: "Include sys-systemctl"
|
||||
include_role:
|
||||
name: sys-systemctl
|
||||
when: run_once_sys_systemctl is not defined
|
||||
- include_tasks: utils/run_once.yml
|
||||
when: run_once_sys_timer is not defined
|
||||
# run_once_sys_timer: deactivated
|
||||
|
||||
- name: create {{ sys_timer_file }}
|
||||
template:
|
||||
src: dummy.timer.j2
|
||||
dest: "/etc/systemd/system/{{ sys_timer_file }}"
|
||||
dest: "{{ [ PATH_SYSTEM_SERVICE_DIR, sys_timer_file ] | path_join }}"
|
||||
register: dummy_timer
|
||||
|
||||
- name: "restart timer"
|
||||
@@ -21,4 +15,3 @@
|
||||
when: dummy_timer.changed or ACTIVATE_ALL_TIMERS | bool
|
||||
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
|
||||
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
[Unit]
|
||||
Description=Timer to start {{ service_name }}{{ SYS_SERVICE_SUFFIX }}
|
||||
Description=Timer to start {{ systemctl_timer_service }}{{ SYS_SERVICE_SUFFIX }}
|
||||
|
||||
[Timer]
|
||||
OnCalendar={{ on_calendar }}
|
||||
OnCalendar={{ systemctl_on_calendar }}
|
||||
RandomizedDelaySec={{ RANDOMIZED_DELAY_SEC }}
|
||||
Persistent={{ persistent | default('false') }}
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
sys_timer_file: "{{ service_name }}{{ SYS_TIMER_SUFFIX }}"
|
||||
sys_timer_file: "{{ systemctl_timer_service }}{{ SYS_TIMER_SUFFIX }}"
|
Reference in New Issue
Block a user