refactor
This commit is contained in:
43
ansible/tasks/servers/services/service_cleanup.yml
Normal file
43
ansible/tasks/servers/services/service_cleanup.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
- name: Cleanup disabled services
|
||||
block:
|
||||
- name: Prepare cleanup list
|
||||
ansible.builtin.set_fact:
|
||||
services_to_cleanup: "{{ services | selectattr('enabled', 'equalto', false) | list }}"
|
||||
|
||||
- name: Check service directories existence for disabled services
|
||||
ansible.builtin.stat:
|
||||
path: "{{ ansible_env.HOME }}/.services/{{ item.name }}"
|
||||
register: service_dir_results
|
||||
loop: "{{ services_to_cleanup }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
|
||||
- name: Filter services with existing directories
|
||||
ansible.builtin.set_fact:
|
||||
services_with_dirs: "{{ service_dir_results.results | selectattr('stat.exists', 'equalto', true) | map(attribute='item') | list }}"
|
||||
|
||||
- name: Check if docker-compose file exists for services to cleanup
|
||||
ansible.builtin.stat:
|
||||
path: "{{ ansible_env.HOME }}/.services/{{ item.name }}/docker-compose.yml"
|
||||
register: compose_file_results
|
||||
loop: "{{ services_with_dirs }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
|
||||
- name: Stop disabled services with docker-compose files
|
||||
ansible.builtin.command: docker compose -f "{{ ansible_env.HOME }}/.services/{{ item.item.name }}/docker-compose.yml" down --remove-orphans
|
||||
loop: "{{ compose_file_results.results | selectattr('stat.exists', 'equalto', true) }}"
|
||||
loop_control:
|
||||
label: "{{ item.item.name }}"
|
||||
register: service_stop_results
|
||||
become: false
|
||||
failed_when: false # Continue even if the command fails
|
||||
|
||||
- name: Remove service directories for disabled services
|
||||
ansible.builtin.file:
|
||||
path: "{{ ansible_env.HOME }}/.services/{{ item.name }}"
|
||||
state: absent
|
||||
loop: "{{ services_with_dirs }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
Reference in New Issue
Block a user