From e9518312863c4df88b11fbe3fb949aaf1a0324e3 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 24 Nov 2025 07:41:06 +0000 Subject: [PATCH] Update 2 files - /roles/system_cleanup/defaults/main.yml - /roles/system_cleanup/tasks/main.yml --- roles/system_cleanup/defaults/main.yml | 3 ++ roles/system_cleanup/tasks/main.yml | 60 +++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/roles/system_cleanup/defaults/main.yml b/roles/system_cleanup/defaults/main.yml index 5cdb633..e2d15fd 100644 --- a/roles/system_cleanup/defaults/main.yml +++ b/roles/system_cleanup/defaults/main.yml @@ -11,6 +11,9 @@ cleanup_docker_images: true cleanup_docker_volumes: true cleanup_docker_networks: true +# Очистка cAdvisor +cleanup_cadvisor: true + # SSH-ключи для удаления (опционально) cleanup_ssh_keys: [] diff --git a/roles/system_cleanup/tasks/main.yml b/roles/system_cleanup/tasks/main.yml index 0b4904f..e63c2c7 100644 --- a/roles/system_cleanup/tasks/main.yml +++ b/roles/system_cleanup/tasks/main.yml @@ -40,4 +40,62 @@ path: "{{ item }}" state: absent loop: "{{ cleanup_directories | default([]) }}" - when: cleanup_directories | length > 0 \ No newline at end of file + 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) \ No newline at end of file