inventory and playbook breakout

This commit is contained in:
Dan Hamik 2025-04-03 17:14:29 -05:00
parent e3e8d1cab0
commit f2f5f52593
3 changed files with 47 additions and 49 deletions

View File

@ -1,49 +1,3 @@
- name: gather service facts
service_facts:
- name: check for docker
hosts: docker
set_fact:
docker_running: "'docker.service' in ansible_facts.services and ansible_facts.services['docker.service']['state']=='running'"
- name: check for running containers
hosts: docker
ansible.builtin.shell: docker ps | grep -v CONTAINER\ ID
register: running_docker
ignore_errors: true
when: docker_running
- name: verify that /docker exists
hosts: docker
stat:
path: /docker
register: my_docker
when: running_docker and docker_running
- name: update system
ansible.builtin.apt:
update_cache: yes
autoclean: yes
autoremove: yes
upgrade: yes
- name: pull docker updates
hosts: docker
command: find /docker -maxdepth 1 -type d -exec /bin/sh 'cd {}; [ -f .env ] && echo {} && docker compose pull' \;
become: true
become_user: root
when: running_docker and my_docker.stat.exists and docker_running
- name: install docker updates
hosts: docker
command: find /docker -maxdepth 1 -type d -exec /bin/sh 'cd {}; [ -f .env ] && echo {} && docker compose up -d' \;
become: true
become_user: root
when: running_docker.stdout and my_docker.stat.exists and docker_running
- name: prune system
hosts: docker
command: docker system prune -a -f
become: true
become_user: root
when: running_docker.stdout and my_docker.stat.exists and docker_running
---
- import_playbook: update-apt.yaml
- import_playbook: update-docker.yaml

8
update-apt.yaml Normal file
View File

@ -0,0 +1,8 @@
- hosts: all
tasks:
- name: update system
ansible.builtin.apt:
update_cache: yes
autoclean: yes
autoremove: yes
upgrade: yes

36
update-docker.yaml Normal file
View File

@ -0,0 +1,36 @@
- hosts: docker
tasks:
- name: check for docker
set_fact:
docker_running: "'docker.service' in ansible_facts.services and ansible_facts.services['docker.service']['state']=='running'"
- name: check for running containers
ansible.builtin.shell: docker ps | grep -v CONTAINER\ ID
register: running_docker
ignore_errors: true
when: docker_running
- name: verify that /docker exists
stat:
path: /docker
register: my_docker
when: running_docker and docker_running
- name: pull docker updates
command: find /docker -maxdepth 1 -type d -exec /bin/sh 'cd {}; [ -f .env ] && echo {} && docker compose pull' \;
become: true
become_user: root
when: running_docker and my_docker.stat.exists and docker_running
- name: install docker updates
command: find /docker -maxdepth 1 -type d -exec /bin/sh 'cd {}; [ -f .env ] && echo {} && docker compose up -d' \;
become: true
become_user: root
when: running_docker.stdout and my_docker.stat.exists and docker_running
- name: prune system
command: docker system prune -a -f
become: true
become_user: root
when: running_docker.stdout and my_docker.stat.exists and docker_running