101 lines
2.9 KiB
YAML
101 lines
2.9 KiB
YAML
---
|
|
- 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) |