--- - name: Remove unwanted system packages apt: name: "{{ cleanup_packages }}" state: absent autoremove: "{{ cleanup_autoremove }}" purge: true when: cleanup_packages | length > 0 - name: Remove specific SSH authorized keys (if any defined) authorized_key: user: root key: "{{ item }}" state: absent loop: "{{ cleanup_ssh_keys | default([]) }}" when: cleanup_ssh_keys | length > 0 - name: Prune unused Docker containers command: docker container prune -f when: cleanup_docker and cleanup_docker_containers changed_when: true - name: Prune unused Docker images command: docker image prune -af when: cleanup_docker and cleanup_docker_images changed_when: true - name: Prune unused Docker volumes command: docker volume prune -f when: cleanup_docker and cleanup_docker_volumes changed_when: true - name: Prune unused Docker networks command: docker network prune -f when: cleanup_docker and cleanup_docker_networks changed_when: true - name: Remove custom directories (use with caution!) file: path: "{{ item }}" state: absent loop: "{{ cleanup_directories | default([]) }}" when: cleanup_directories | length > 0 - name: Remove cAdvisor (if cleanup_cadvisor is true) block: - name: Check if Docker is installed command: docker --version register: docker_check ignore_errors: yes changed_when: false - name: Check if cAdvisor container exists shell: docker ps -a --filter name=cadvisor --format "{{ '{{.Names}}' }}" register: cadvisor_check changed_when: false when: docker_check.rc == 0 - name: Stop and remove cAdvisor container community.docker.docker_container: name: cadvisor state: absent force_kill: yes become: yes when: - docker_check.rc == 0 - "'cadvisor' in cadvisor_check.stdout" - name: Remove cAdvisor Docker image community.docker.docker_image: name: gcr.io/cadvisor/cadvisor state: absent become: yes ignore_errors: yes when: docker_check.rc == 0 - name: Remove cAdvisor directories file: path: "{{ item }}" state: absent loop: - "/opt/cadvisor" - "/opt/cadvisor/config" become: yes ignore_errors: yes - name: Verify cAdvisor removal shell: | echo "Containers: $(docker ps -a | grep cadvisor | wc -l)" echo "Images: $(docker images | grep cadvisor | wc -l)" echo "Directories: $(ls -d /opt/cadvisor* 2>/dev/null | wc -l)" register: cadvisor_removal_check changed_when: false when: docker_check.rc == 0 - name: Show cAdvisor removal status debug: msg: "cAdvisor removal status: {{ cadvisor_removal_check.stdout }}" when: cadvisor_removal_check is defined when: cleanup_cadvisor | default(false)