49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
# yaml-language-server: $schema=https://raw.githubusercontent.com/ansible/ansible-lint/refs/heads/main/src/ansiblelint/schemas/playbook.json
|
|
|
|
- name: Remove nodes from swarm
|
|
hosts: docker_workers
|
|
tasks:
|
|
- name: Leave node from swarm
|
|
community.docker.docker_swarm:
|
|
state: absent
|
|
|
|
- name: Teardown docker swarm
|
|
hosts: docker_managers
|
|
tasks:
|
|
- name: Disable docker swarm mode
|
|
community.docker.docker_swarm:
|
|
state: absent
|
|
force: true
|
|
|
|
- name: Delete traefik network
|
|
community.docker.docker_network:
|
|
name: reverse-proxy
|
|
state: absent
|
|
|
|
- name: Remove docker context for each Swarm manager machine
|
|
ignore_errors: true
|
|
local_action: >
|
|
ansible.builtin.command docker context rm -f {{ ansible_hostname }}
|
|
|
|
- name: Clean docker resources
|
|
hosts: docker
|
|
tasks:
|
|
- name: Prune docker resources
|
|
community.docker.docker_prune:
|
|
containers: true
|
|
images: true
|
|
networks: true
|
|
builder_cache: true
|
|
|
|
- name: Remove network interface
|
|
become: true
|
|
ansible.builtin.command:
|
|
cmd: ip link delete docker_gwbridge
|
|
when: ansible_facts['interfaces'] | select('match', 'docker_gwbridge') | list | length > 0
|
|
|
|
- name: Restart docker
|
|
become: true
|
|
ansible.builtin.service:
|
|
name: docker
|
|
state: restarted
|
|
|