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

@@ -39,10 +39,11 @@ def main(base_directory):
blocker_running = True
while blocker_running:
try:
bash("systemctl is-active --quiet sys-ctl-bkp-docker-2-loc{{ SYS_SERVICE_SUFFIX }}")
bash("systemctl is-active --quiet update-docker{{ SYS_SERVICE_SUFFIX }}")
print("Backup is running.")
try:
{% for manipulation_service in SYS_SERVICE_GROUP_MANIPULATION %}
bash("systemctl is-active --quiet {{ manipulation_service }}")
{% endfor %}
print("Manipulation service is running.")
print(f"Trying again in {waiting_time} seconds.")
time.sleep(waiting_time)
except:

View File

@@ -1,8 +0,0 @@
[Unit]
Description=restart unhealthy docker containers
OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service
[Service]
Type=oneshot
ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP| join(' ') }} sys-ctl-rpr-docker-soft --timeout "{{SYS_TIMEOUT_HEAL_DOCKER}}"'
ExecStart=/bin/sh -c '/bin/python {{heal_docker}}sys-ctl-rpr-docker-soft.py {{ PATH_DOCKER_COMPOSE_INSTANCES }}'

View File

@@ -0,0 +1,8 @@
[Unit]
Description=restart unhealthy docker containers
OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }}
[Service]
Type=oneshot
ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP| join(' ') }} sys-ctl-rpr-docker-soft --timeout "{{ SYS_TIMEOUT_HEAL_DOCKER }}"'
ExecStart=/bin/sh -c '/bin/python {{ systemctl_id | get_service_script_path('py') }} {{ PATH_DOCKER_COMPOSE_INSTANCES }}'