Kevin Veen-Birkenbach 26b392ea76
refactor!: replace sys-systemctl with sys-service, add sys-daemon, and rename systemctl_* → system_service_* across repo
- Swap role includes: sys-systemctl → sys-service in all roles
- Rename variables everywhere: systemctl_* → system_service_* (incl. systemctl_id → system_service_id)
- Templates: ExecStart now uses {{ system_service_script_exec }}; add optional RuntimeMaxSec via SYS_SERVICE_DEFAULT_RUNTIME
- Move SYS_SERVICE defaults into roles/sys-service/defaults (remove SYS_SERVICE_ALL_ENABLED & SYS_SERVICE_DEFAULT_STATE from group_vars/07_services.yml)
- Tidy group_vars/all/08_timer.yml formatting
- Introduce roles/sys-daemon:
  - default manager timeouts (timeouts.conf)
  - optional purge of /etc/systemd/system.conf.d
  - validation via systemd-analyze verify
  - handlers for daemon-reload & daemon-reexec
- Refactor sys-timer to system_service_* variables (docs and templates updated)
- Move filter_plugins/filetype.py under sys-service
- Update meta/README to point to official systemd docs
- Touch many roles (backup/cleanup/health/repair/certs/nginx/csp/wireguard/ssd-hdd/keyboard/update-docker/alarm compose/email/telegram/etc.) to new naming

BREAKING CHANGE:
- Role path/name change: use `sys-service` instead of `sys-systemctl`
- All `systemctl_*` vars are now `system_service_*` (e.g., on_calendar, state, timer_enabled, script_exec, id)
- If you have custom templates, adopt RuntimeMaxSec and new variable names

Chat context: https://chatgpt.com/share/68a47568-312c-800f-af3f-e98575446327
2025-08-19 15:00:44 +02:00
..

Certbot Reaper

Description

This Ansible role automates the detection, revocation and deletion of unused Let's Encrypt certificates. It leverages the certreap tool to identify certificates no longer referenced by any active NGINX configuration and removes them automatically.

Overview

  • Installs the certreap cleanup tool using the pkgmgr-install role
  • Deploys and configures a systemd unit
  • (Optionally) Sets up a recurring cleanup via a systemd timer using the sys-timer role
  • Integrates with sys-ctl-alm-compose to send failure notifications
  • Ensures idempotent execution with a run_once_sys_ctl_cln_certs flag

Features

  • Certificate Cleanup Tool Installation
    Uses pkgmgr-install to install the certreap binary.

  • Systemd Service Configuration
    Deploys service and reloads/restarts it on changes.

  • Systemd Timer Scheduling
    Optionally wires in a timer via the sys-timer role, controlled by the on_calendar_cleanup_certs variable.

  • Smart Execution Logic
    Prevents multiple runs in one play by setting a run_once_sys_ctl_cln_certs fact.

  • Failure Notification
    Triggers service on failure.

Further Resources