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:
2025-08-18 21:22:16 +02:00
parent 3a839cfe37
commit 2569abc0be
219 changed files with 618 additions and 1104 deletions

View File

@@ -1,4 +0,0 @@
- name: "restart sys-ctl-alm-telegram service"
systemd:
name: sys-ctl-alm-telegram{{ SYS_SERVICE_SUFFIX }}
daemon_reload: yes

View File

@@ -1,8 +1,3 @@
- name: Include dependency 'sys-rst-daemon'
include_role:
name: sys-rst-daemon
when: run_once_sys_rst_daemon is not defined
- name: Fail if Telegram bot credentials are not set
assert:
that:
@@ -14,24 +9,10 @@
- telegram_bot_token # Your Telegram bots API token
- telegram_chat_id # The Telegram chat ID to send messages to
- include_role:
name: sys-systemctl
- name: install curl
community.general.pacman:
name: curl
state: present
- name: Create a directory with a subdirectory
ansible.builtin.file:
path: "{{systemd_telegram_folder}}"
state: directory
mode: '0755'
- name: configure sys-ctl-alm-telegram.sh
template:
src: sys-ctl-alm-telegram.sh.j2
dest: "{{ systemd_telegram_script }}"
- name: configure sys-ctl-alm-telegram{{ SYS_SERVICE_SUFFIX }}
template:
src: sys-ctl-alm-telegram@.service.j2
dest: "/etc/systemd/system/sys-ctl-alm-telegram.infinito@.service"
notify: "restart sys-ctl-alm-telegram service"

View File

@@ -3,6 +3,6 @@ Description=status Telegram message for %i to user
[Service]
Type=oneshot
ExecStart=/bin/bash {{ systemd_telegram_script }} %i
ExecStart=/bin/bash {{ systemctl_id | get_service_script_path('sh') }} %i
User=root
Group=systemd-journal

View File

@@ -1,2 +1,2 @@
systemd_telegram_folder: /opt/ansible-roles/sys-ctl-alm-telegram/
systemd_telegram_script: '{{systemd_telegram_folder}}sys-ctl-alm-telegram.sh'
systemctl_id: sys-ctl-alm-telegram