homelab/playbooks/teardown/docker.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