diff --git a/roles/docker-clean/tasks/main.yml b/roles/docker-clean/tasks/main.yml new file mode 100644 index 0000000..53a7bad --- /dev/null +++ b/roles/docker-clean/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: Get running docker stacks + community.docker.docker_stack_info: + register: running_stacks + become: true + +- name: Remove stacks without matching role + community.docker.docker_stack: + name: "{{ item.Name }}" + state: "absent" + loop: "{{ running_stacks.results | rejectattr('Name', 'in', role_names) }}" + become: true diff --git a/site.yml b/site.yml index 69a8ddd..b2dbba2 100644 --- a/site.yml +++ b/site.yml @@ -18,6 +18,12 @@ - hosts: docker_swarm_manager_node tasks: + - name: Remove stacks without roles + import_role: + role: docker-clean + tags: + - docker-clean + - name: Install caddy reverse proxy import_role: role: caddy