From abc9f0434c1b0ea6734468a4286862f2ad23fb4c Mon Sep 17 00:00:00 2001 From: Cian Hatton Date: Fri, 2 Sep 2022 15:11:44 +0100 Subject: [PATCH] wip --- roles/docker_s3_volume_restore/defaults/main.yml | 8 ++++++++ roles/docker_s3_volume_restore/tasks/main.yml | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/roles/docker_s3_volume_restore/defaults/main.yml b/roles/docker_s3_volume_restore/defaults/main.yml index 04e78e1..4700094 100644 --- a/roles/docker_s3_volume_restore/defaults/main.yml +++ b/roles/docker_s3_volume_restore/defaults/main.yml @@ -3,12 +3,20 @@ # forces a revert to the volume. docker_s3_volume_restore_force: false +# specify docker_s3_volume_restore_latest_s3_key true to automatically determine the latest +# backup in the s3 backup. The format which is expected has the prefix of volume_name/volume_name_* +# this is the format the the "docker_s3_backup" role updloads them with. docker_s3_volume_restore_latest_s3_key: false docker_s3_volume_restores: [] #docker_volume_s3_restores: # - volume_name: "linkding_data" # s3_key: "linkding_data/linkding_data-2022-09-01T21:32:54Z.tar.gz" +# dynamically find the latest linkding_data backup. +# docker_s3_volume_restore_latest_s3_key: true +#docker_volume_s3_restores: +# - volume_name: "linkding_data" + docker_s3_volume_restore_aws_s3_region: "us-east-1" docker_s3_volume_restore_aws_s3_bucket: "backups" docker_s3_volume_restore_aws_s3_url: "" diff --git a/roles/docker_s3_volume_restore/tasks/main.yml b/roles/docker_s3_volume_restore/tasks/main.yml index bdb2a7c..9207e2d 100644 --- a/roles/docker_s3_volume_restore/tasks/main.yml +++ b/roles/docker_s3_volume_restore/tasks/main.yml @@ -32,27 +32,31 @@ with_items: "{{ docker_volume_s3_restores }}" - debug: msg="{{ s3_list_output }}" + when: docker_s3_volume_restore_latest_s3_key - name: Extract s3 keys for container + when: docker_s3_volume_restore_latest_s3_key set_fact: container_s3_keys="{{ container_s3_keys | default([]) + [item.s3_keys | last] }}" with_items: "{{ s3_list_output.results }}" - debug: msg="{{ container_s3_keys }}" + when: docker_s3_volume_restore_latest_s3_key - set_fact: volume_names="{{ docker_volume_s3_restores | map(attribute='volume_name') }}" + when: docker_s3_volume_restore_latest_s3_key # remove existing values so we can determine the s3 key automatically/ - set_fact: docker_volume_s3_restores="{{ [] }}" + when: docker_s3_volume_restore_latest_s3_key - set_fact: docker_volume_s3_restores: "{{ docker_volume_s3_restores | default([]) + [ {'volume_name': item.0, 's3_key': item.1} ] }}" + when: docker_s3_volume_restore_latest_s3_key with_together: - "{{ volume_names }}" - "{{ container_s3_keys }}" - debug: msg="{{ docker_volume_s3_restores }}" - - - name: Create directories for /tmp file file: path: '/tmp/{{ item.s3_key | dirname }}'