mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-27 05:55:15 +02:00
- Improved get_service_name filter plugin (clearer suffix handling, consistent var names). - Added MODE_ASSERT flag to optionally execute validation/assertion tasks. - Fixed systemd unit handling: consistent use of %I instead of %i, correct escaping of instance names. - Unified on_failure behavior and alarm composer scripts. - Cleaned up redundant logging, handlers, and debug config. - Strengthened sys-service template resolution with assert (only active when MODE_ASSERT). - Simplified timer and suffix handling with get_service_name filter. - Hardened sensitive tasks with no_log. - Added conditional asserts across roles (Keycloak, DNS, Mailu, Discourse, etc.). These changes improve consistency, safety, and validation across the automation stack. Conversation: https://chatgpt.com/share/68a4ae28-483c-800f-b2f7-f64c7124c274
Systemd Timer
Description
This role configures a systemd timer to periodically start a corresponding service. It uses a Jinja2 template to create a timer unit file that specifies the scheduling parameters (such as OnCalendar and RandomizedDelaySec) and then restarts the timer service accordingly.
Overview
Optimized for automated task scheduling in a systemd environment, this role:
- Generates a timer unit file for a given service (using the
system_service_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
system_service_on_calendar
andRANDOMIZED_DELAY_SEC
.
Purpose
The primary purpose of this role is to provide a reusable mechanism for scheduling recurring tasks on a system. By creating and managing a systemd timer unit, the role ensures that specified services are automatically started at defined intervals, enhancing system automation and reliability.
Features
- Dynamic Timer Configuration: Uses a Jinja2 template to create a timer unit file based on provided variables.
- Automated Service Management: Automatically reloads the systemd daemon and restarts the timer when changes are detected.
- Flexible Scheduling: Supports configuration of parameters such as OnCalendar and RandomizedDelaySec for precise control over task timing.
- Persistent Timers: Optionally enables persistent timer behavior to ensure missed activations are handled.