diff --git a/tasks/main.yml b/tasks/main.yml index d1abd79..22e664c 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,13 +1,13 @@ - set_fact: endpoint_without_bucket: "{{ cloudflare_r2_endpoint | urlsplit('scheme') ~ '://' ~ cloudflare_r2_endpoint | urlsplit('netloc') }}" endpoint_path: "{{ cloudflare_r2_endpoint | urlsplit('path') }}" - restic_repository_name: "rclone:cloudflare-r2:backup-{{inventory_hostname}}" bucket_name: >- {{ (cloudflare_r2_endpoint | urlsplit('path') | default('', true) | regex_replace('^/', '')) if (cloudflare_r2_endpoint | urlsplit('path') | default('') | length > 1) else (backup_bucket_prefix ~ '-' ~ inventory_hostname) }} + restic_repository: "s3:{{ endpoint_without_bucket }}/{{ bucket_name }}" - name: create the /backup-dirs file # this also runs on main in case someone doesn't run the backup.yml file: @@ -84,7 +84,7 @@ until: "command_result.rc==0 or 'repository master key and config already initialized' in command_result.stderr" failed_when: "command_result.rc!=0 and 'repository master key and config already initialized' not in command_result.stderr" environment: - RESTIC_REPOSITORY: "{{ restic_repository_name }}" + RESTIC_REPOSITORY: "{{ restic_repository }}" AWS_ACCESS_KEY_ID: "{{ cloudflare_r2_access_key }}" AWS_SECRET_ACCESS_KEY: "{{ cloudflare_r2_secret_key }}" tags: diff --git a/templates/backup-vars.sh.j2 b/templates/backup-vars.sh.j2 index 0d25594..c73847c 100644 --- a/templates/backup-vars.sh.j2 +++ b/templates/backup-vars.sh.j2 @@ -1,3 +1,5 @@ export RESTIC_REPOSITORY="{{ restic_repository_name }}" +AWS_ACCESS_KEY_ID="{{ cloudflare_r2_access_key }}" +AWS_SECRET_ACCESS_KEY="{{ cloudflare_r2_secret_key }}" export PWD_FILE=/backup-pwd export RESTIC=/usr/bin/restic