feat(docker): Add docker stack cleaning role
Runs before setting up any new stacks or pursue other modifications to docker deployments. Brings down any stack which is not currently defined in a role. This makes the whole installation more idempotent since we take care to not only bring _up_ any necessary docker containers, but also bring _down_ those that have become unnecessary.
This commit is contained in:
parent
4671801a84
commit
814f1e008f
2 changed files with 18 additions and 0 deletions
12
roles/docker-clean/tasks/main.yml
Normal file
12
roles/docker-clean/tasks/main.yml
Normal file
|
|
@ -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
|
||||||
6
site.yml
6
site.yml
|
|
@ -18,6 +18,12 @@
|
||||||
|
|
||||||
- hosts: docker_swarm_manager_node
|
- hosts: docker_swarm_manager_node
|
||||||
tasks:
|
tasks:
|
||||||
|
- name: Remove stacks without roles
|
||||||
|
import_role:
|
||||||
|
role: docker-clean
|
||||||
|
tags:
|
||||||
|
- docker-clean
|
||||||
|
|
||||||
- name: Install caddy reverse proxy
|
- name: Install caddy reverse proxy
|
||||||
import_role:
|
import_role:
|
||||||
role: caddy
|
role: caddy
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue