mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 15:06:26 +02:00
Implemented sys-svc-cln-anon-volumes as service so that it can be triggert after sys-ctl-rpr-docker-hard
This commit is contained in:
20
roles/sys-ctl-cln-anon-volumes/README.md
Normal file
20
roles/sys-ctl-cln-anon-volumes/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# 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 Kevin’s 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.
|
25
roles/sys-ctl-cln-anon-volumes/meta/main.yml
Normal file
25
roles/sys-ctl-cln-anon-volumes/meta/main.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
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"
|
18
roles/sys-ctl-cln-anon-volumes/tasks/main.yml
Normal file
18
roles/sys-ctl-cln-anon-volumes/tasks/main.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
- block:
|
||||
- name: "pkgmgr install"
|
||||
include_role:
|
||||
name: pkgmgr-install
|
||||
vars:
|
||||
package_name: dockreap
|
||||
|
||||
- include_role:
|
||||
name: sys-service
|
||||
vars:
|
||||
system_service_tpl_on_failure: "{{ SYS_SERVICE_ON_FAILURE_COMPOSE }}"
|
||||
system_service_tpl_exec_start: dockreap --no-confirmation
|
||||
system_service_tpl_exec_start_pre: /usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_CLEANUP_ANONYMOUS_VOLUMES }} --timeout "{{ SYS_TIMEOUT_CLEANUP_SERVICES }}"
|
||||
system_service_copy_files: false
|
||||
|
||||
- include_tasks: utils/run_once.yml
|
||||
when:
|
||||
- run_once_sys_ctl_cln_anon_volumes is not defined
|
1
roles/sys-ctl-cln-anon-volumes/vars/main.yml
Normal file
1
roles/sys-ctl-cln-anon-volumes/vars/main.yml
Normal file
@@ -0,0 +1 @@
|
||||
system_service_id: sys-ctl-cln-anon-volumes
|
Reference in New Issue
Block a user