From ce25dff5371db63b768762a488505f069d557def Mon Sep 17 00:00:00 2001 From: Dan Hamik Date: Thu, 3 Apr 2025 11:27:54 -0500 Subject: [PATCH] adding initial ansible update script --- update-all.yaml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 update-all.yaml diff --git a/update-all.yaml b/update-all.yaml new file mode 100644 index 0000000..990817e --- /dev/null +++ b/update-all.yaml @@ -0,0 +1,48 @@ +- hosts: all + # serial: 5 + + tasks: + + - name: gather service facts + service_facts: + + - 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: update system + ansible.builtin.apt: + update_cache: yes + autoclean: yes + autoremove: yes + upgrade: yes + + - 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