diff --git a/update-all.yaml b/update-all.yaml index 7365525..bc460dd 100644 --- a/update-all.yaml +++ b/update-all.yaml @@ -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 \ No newline at end of file diff --git a/update-apt.yaml b/update-apt.yaml new file mode 100644 index 0000000..7ff5932 --- /dev/null +++ b/update-apt.yaml @@ -0,0 +1,8 @@ +- hosts: all + tasks: + - name: update system + ansible.builtin.apt: + update_cache: yes + autoclean: yes + autoremove: yes + upgrade: yes \ No newline at end of file diff --git a/update-docker.yaml b/update-docker.yaml new file mode 100644 index 0000000..8b0e951 --- /dev/null +++ b/update-docker.yaml @@ -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 \ No newline at end of file