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,20 +0,0 @@
# Cleanup Docker Anonymous Volumes
## Description
This Ansible role installs and executes [`dockreap`](https://github.com/kevinveenbirkenbach/web-app-volume-cleaner), a tool designed to clean up unused anonymous Docker volumes (including symlinks and their targets) to maintain a tidy Docker environment.
## Overview
The role installs the tool via [`pkgmgr`](https://github.com/kevinveenbirkenbach/package-manager) using the `dockreap` alias and runs it with the `--no-confirmation` flag to ensure automatic, non-interactive cleanup.
## Purpose
This role is intended to automate the removal of orphaned Docker volumes that consume unnecessary disk space. It is especially useful in backup, CI/CD, or maintenance routines.
## Features
- **Automated Cleanup:** Runs `dockreap --no-confirmation` to clean up unused anonymous volumes.
- **pkgmgr Integration:** Installs the tool via Kevins package manager (`pkgmgr`).
- **Idempotent Execution:** Ensures the tool is installed and run only once per playbook run.
- **Symlink-Aware:** Safely handles symlinked `_data` directories and their targets.

View File

@@ -1,27 +0,0 @@
---
galaxy_info:
author: "Kevin Veen-Birkenbach"
description: "Install and run dockreap to clean up unused anonymous Docker volumes"
license: "Infinito.Nexus NonCommercial License"
license_url: "https://s.infinito.nexus/license"
company: |
Kevin Veen-Birkenbach
Consulting & Coaching Solutions
https://www.veen.world
min_ansible_version: "2.9"
platforms:
- name: Linux
versions:
- all
galaxy_tags:
- docker
- cleanup
- automation
- maintenance
- volumes
- pkgmgr
repository: "https://github.com/kevinveenbirkenbach/web-app-volume-cleaner"
issue_tracker_url: "https://github.com/kevinveenbirkenbach/web-app-volume-cleaner/issues"
documentation: "https://github.com/kevinveenbirkenbach/web-app-volume-cleaner"
dependencies:
- sys-rst-daemon

View File

@@ -1,27 +0,0 @@
- name: Check if docker is installed
ansible.builtin.stat:
path: /usr/bin/docker
register: docker_bin
- name: "pkgmgr install"
include_role:
name: pkgmgr-install
vars:
package_name: dockreap
when:
- run_once_sys_ctl_cln_anon_volumes is not defined
- docker_bin.stat.exists
- name: run dockreap with --no-confirmation
command:
cmd: "dockreap --no-confirmation"
when:
- run_once_sys_ctl_cln_anon_volumes is not defined
- docker_bin.stat.exists
- name: mark dockreap as run
set_fact:
run_once_sys_ctl_cln_anon_volumes: true
when:
- run_once_sys_ctl_cln_anon_volumes is not defined
- docker_bin.stat.exists