From b4de2369389f83e3310eba01c292c2285d730fc9 Mon Sep 17 00:00:00 2001 From: Administrator Date: Thu, 30 Oct 2025 07:50:20 +0000 Subject: [PATCH] Update 4 files - /group_vars/all.yml - /roles/system_cleanup/defaults/main.yml - /roles/system_cleanup/tasks/main.yml - /olimp-deploy.yml --- group_vars/all.yml | 7 +++-- olimp-deploy.yml | 1 + roles/system_cleanup/defaults/main.yml | 18 +++++++++++ roles/system_cleanup/tasks/main.yml | 43 ++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 roles/system_cleanup/defaults/main.yml create mode 100644 roles/system_cleanup/tasks/main.yml diff --git a/group_vars/all.yml b/group_vars/all.yml index cbb0392..01ea0c3 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -6,7 +6,7 @@ x11_display_host: "192.168.1.101" proxmox_node: "Olimp" admin_user: root - +# Устанвливаем базовые пакеты base_packages: - curl - wget @@ -26,7 +26,6 @@ base_packages: - mc - iftop - ntp - - gparted - pv system_scripts: [] @@ -34,6 +33,10 @@ custom_directories: - /opt/scripts - /etc/apt/keyrings +# Удаляем мусорные пакеты везде +cleanup_packages: + - gparted + # ------------ gateway (192.168.1.201) ------------ npm_base_dir: "/opt/npm" npm_data_dir: "/opt/npm/data" diff --git a/olimp-deploy.yml b/olimp-deploy.yml index 962e82b..ef914b0 100644 --- a/olimp-deploy.yml +++ b/olimp-deploy.yml @@ -2,6 +2,7 @@ - hosts: all roles: - {role: base_setup, tags: deploy_base} + - {role: system_cleanup, tags: deploy_cleanup} - hosts: gateway-server roles: diff --git a/roles/system_cleanup/defaults/main.yml b/roles/system_cleanup/defaults/main.yml new file mode 100644 index 0000000..5cdb633 --- /dev/null +++ b/roles/system_cleanup/defaults/main.yml @@ -0,0 +1,18 @@ +# Пакеты для удаления (по умолчанию — пусто) +cleanup_packages: [] + +# Автоматически удалять неиспользуемые зависимости +cleanup_autoremove: true + +# Очистка Docker +cleanup_docker: true +cleanup_docker_containers: true +cleanup_docker_images: true +cleanup_docker_volumes: true +cleanup_docker_networks: true + +# SSH-ключи для удаления (опционально) +cleanup_ssh_keys: [] + +# Каталоги для удаления (осторожно!) +cleanup_directories: [] \ No newline at end of file diff --git a/roles/system_cleanup/tasks/main.yml b/roles/system_cleanup/tasks/main.yml new file mode 100644 index 0000000..0b4904f --- /dev/null +++ b/roles/system_cleanup/tasks/main.yml @@ -0,0 +1,43 @@ +--- +- 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 \ No newline at end of file