mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-11-26 06:43:10 +00:00
Refactor JVM memory filters, add Redis sizing and Docker cleanup service
- Replace jvm_filters with unified memory_filters (JVM + Redis helpers) - Add redis_maxmemory_mb filter and unit tests - Introduce sys-ctl-cln-docker role (systemd-based Docker prune + anon volumes) - Refactor disk space health check to Python script and wire SIZE_PERCENT_CLEANUP_DISC_SPACE - Adjust schedules and services for Docker cleanup and disk space health See discussion: https://chatgpt.com/share/6925c1c5-ee38-800f-84b6-da29ccfa7537
This commit is contained in:
47
roles/sys-ctl-cln-docker/README.md
Normal file
47
roles/sys-ctl-cln-docker/README.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Cleanup Docker Resources
|
||||
|
||||
## Description
|
||||
|
||||
This role performs a complete cleanup of Docker resources by invoking a systemd-managed script.
|
||||
It removes unused Docker images, stopped containers, networks, build cache, and anonymous volumes.
|
||||
The cleanup is fully automated and can run on a schedule or be triggered manually.
|
||||
|
||||
## Overview
|
||||
|
||||
Optimized for maintaining a clean and efficient Docker environment, this role:
|
||||
|
||||
* Loads and triggers the anonymous volume cleanup role.
|
||||
* Installs a systemd service and timer for Docker pruning.
|
||||
* Deploys a cleanup script that invokes:
|
||||
|
||||
* The anonymous volume cleanup service.
|
||||
* `docker system prune -a -f` to remove unused Docker resources.
|
||||
* Allows forced execution during maintenance runs (`MODE_CLEANUP`).
|
||||
|
||||
## Purpose
|
||||
|
||||
The primary purpose of this role is to prevent storage bloat caused by unused Docker images, volumes, and build artifacts.
|
||||
Regular pruning ensures:
|
||||
|
||||
* Reduced disk usage
|
||||
* Improved system performance
|
||||
* Faster CI/CD and container deployments
|
||||
* More predictable Docker engine behavior
|
||||
|
||||
## Features
|
||||
|
||||
* **Anonymous Volume Cleanup:** Integrates with `sys-ctl-cln-anon-volumes` to remove stale volumes.
|
||||
* **Full Docker Prune:** Executes `docker system prune -a -f` to reclaim space.
|
||||
* **Systemd Integration:** Registers a systemd unit and timer for automated cleanup.
|
||||
* **Scheduled Execution:** Runs daily (or as configured) based on `SYS_SCHEDULE_CLEANUP_DOCKER`.
|
||||
* **Force Execution Mode:** When `MODE_CLEANUP=true`, cleanup is executed immediately.
|
||||
* **Safe Execution:** Includes validation for missing services and Docker availability.
|
||||
|
||||
## Script Behavior
|
||||
|
||||
The cleanup script:
|
||||
|
||||
1. Checks whether the anonymous volume cleanup service is defined and available.
|
||||
2. Starts the service if present.
|
||||
3. Runs `docker system prune -a -f` if Docker is installed.
|
||||
4. Stops execution immediately on errors (`set -e` behavior).
|
||||
Reference in New Issue
Block a user