Compare commits

...

2 commits

Author SHA1 Message Date
73e4d7fd19 feat: add docker teardown playbook
this playbook only removes swarm configurations, not the docker
installation
2024-12-12 13:04:04 -03:00
bd00be2a5c refactor: separate common setup and docker setup 2024-12-12 12:39:15 -03:00
4 changed files with 72 additions and 33 deletions

View file

@ -3,6 +3,9 @@ homelab:
docker:
docker:
vars:
robo_allowed_commands:
- "docker system dial-stdio"
children:
docker_managers:
docker_workers:

View file

@ -46,36 +46,3 @@
user: root
roles:
- role: common
vars:
robo_allowed_commands:
- "docker system dial-stdio"
- name: Setup Docker
hosts: docker
user: root
roles:
- docker
vars:
users:
- aleidk
- robo
- name: Setup docker swarm manager
hosts: docker_managers
user: root
tasks:
- name: Setup swarm manager
include_role:
name: docker
tasks_from: swarm_manager.yaml
- name: Setup docker swarm workers
hosts: docker_workers
user: root
tasks:
- name: "Setup swarm workers"
include_role:
name: docker
tasks_from: swarm_worker.yaml
vars:
managers_group: docker_managers

View file

@ -0,0 +1,32 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/ansible/ansible-lint/refs/heads/main/src/ansiblelint/schemas/playbook.json
---
- name: Setup Docker
hosts: docker
user: root
roles:
- docker
vars:
users:
- aleidk
- robo
- name: Setup docker swarm manager
hosts: docker_managers
user: root
tasks:
- name: Setup swarm manager
include_role:
name: docker
tasks_from: swarm_manager.yaml
- name: Setup docker swarm workers
hosts: docker_workers
user: root
tasks:
- name: "Setup swarm workers"
include_role:
name: docker
tasks_from: swarm_worker.yaml
vars:
managers_group: docker_managers

View file

@ -0,0 +1,37 @@
# 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