diff --git a/roles/docker_s3_volume_restore/defaults/main.yml b/roles/docker_s3_volume_restore/defaults/main.yml index dbb8ec6..0c3595f 100644 --- a/roles/docker_s3_volume_restore/defaults/main.yml +++ b/roles/docker_s3_volume_restore/defaults/main.yml @@ -1,5 +1,8 @@ --- # defaults file for docker_s3_volume_restore + +# forces a revert to the volume. +docker_volume_s3_force: false docker_volume_s3_restores: - volume_name: "linkding_data" s3_key: "linkding_data/linkding_data-2022-09-01T21:32:54Z.tar.gz" diff --git a/roles/docker_s3_volume_restore/tasks/main.yml b/roles/docker_s3_volume_restore/tasks/main.yml index d7eca8a..f2f1d6e 100644 --- a/roles/docker_s3_volume_restore/tasks/main.yml +++ b/roles/docker_s3_volume_restore/tasks/main.yml @@ -1,7 +1,21 @@ --- # https://docs.ansible.com/ansible/latest/collections/community/docker/docker_container_module.html#ansible-collections-community-docker-docker-container-module # https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes -# + +- name: Ensure Volume. + docker_volume: + name: "{{ item.volume_name }}" + state: present + register: volume_out + with_items: "{{ docker_volume_s3_restores }}" + +- name: Determine if backup is needed. + set_fact: should_perform_backup="{{ docker_volume_s3_force == true or volume_out.changed == true }}" + +- name: End play as no backup is needed. + meta: end_play + when: not should_perform_backup + - name: Download archive from S3 amazon.aws.aws_s3: bucket: "{{ aws_s3.bucket }}" @@ -15,15 +29,6 @@ register: get_out with_items: "{{ docker_volume_s3_restores }}" -- debug: msg="{{ get_out }}" - -- name: Ensure Volume - docker_volume: - name: "{{ item.volume_name }}" - state: present - with_items: "{{ docker_volume_s3_restores }}" - -# TODO: skip if the volume was just created - name: Remove contents of volumes community.docker.docker_container: name: "restore-container-{{ item.volume_name }}-{{ 10 | random }}" @@ -51,4 +56,3 @@ - "{{ item.volume_name }}:/data" - /tmp:/tmp with_items: "{{ docker_volume_s3_restores }}" - diff --git a/roles/setup_hosted_services/defaults/main.yml b/roles/setup_hosted_services/defaults/main.yml index 6d800ee..ed97d53 100644 --- a/roles/setup_hosted_services/defaults/main.yml +++ b/roles/setup_hosted_services/defaults/main.yml @@ -1,2 +1 @@ -null -... +---