revamp of bucket-related vars
This commit is contained in:
parent
620e7d87ee
commit
2576de2e98
@ -1,3 +1,14 @@
|
|||||||
|
- 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)
|
||||||
|
}}
|
||||||
|
|
||||||
- name: create the /backup-dirs file # this also runs on main in case someone doesn't run the backup.yml
|
- name: create the /backup-dirs file # this also runs on main in case someone doesn't run the backup.yml
|
||||||
file:
|
file:
|
||||||
path: "/backup-dirs"
|
path: "/backup-dirs"
|
||||||
@ -58,12 +69,12 @@
|
|||||||
|
|
||||||
- name: "Create a bucket for the backups"
|
- name: "Create a bucket for the backups"
|
||||||
amazon.aws.s3_bucket:
|
amazon.aws.s3_bucket:
|
||||||
name: "{{ backup_bucket_prefix }}-{{ inventory_hostname }}"
|
name: "{{ bucket_name }}"
|
||||||
state: present
|
state: present
|
||||||
endpoint_url: "{{ cloudflare_r2_endpoint }}"
|
endpoint_url: "{{ cloudflare_r2_endpoint }}"
|
||||||
access_key: "{{ cloudflare_r2_access_key }}"
|
access_key: "{{ cloudflare_r2_access_key }}"
|
||||||
secret_key: "{{ cloudflare_r2_secret_key }}"
|
secret_key: "{{ cloudflare_r2_secret_key }}"
|
||||||
when: (cloudflare_r2_endpoint | urlsplit('path') | default('')) | length < 1
|
when: (cloudflare_r2_endpoint | urlsplit('path') | default('')) | length < 1 # if the endpoint does not have a path, it assumes we shold create the bucket and have a token that allows that
|
||||||
|
|
||||||
- name: initiate restic repository
|
- name: initiate restic repository
|
||||||
command: "restic init --password-file=/backup-pwd"
|
command: "restic init --password-file=/backup-pwd"
|
||||||
@ -73,7 +84,7 @@
|
|||||||
until: "command_result.rc==0 or 'repository master key and config already initialized' in command_result.stderr"
|
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"
|
failed_when: "command_result.rc!=0 and 'repository master key and config already initialized' not in command_result.stderr"
|
||||||
environment:
|
environment:
|
||||||
RESTIC_REPOSITORY: "s3:{{ cloudflare_r2_endpoint }}{{ '' if ((cloudflare_r2_endpoint | urlsplit('path') | default('')) | length >1) else '/' ~ backup_bucket_prefix ~ '-' ~ inventory_hostname }}"
|
RESTIC_REPOSITORY: "{{ restic_repository }}"
|
||||||
AWS_ACCESS_KEY_ID: "{{ cloudflare_r2_access_key }}"
|
AWS_ACCESS_KEY_ID: "{{ cloudflare_r2_access_key }}"
|
||||||
AWS_SECRET_ACCESS_KEY: "{{ cloudflare_r2_secret_key }}"
|
AWS_SECRET_ACCESS_KEY: "{{ cloudflare_r2_secret_key }}"
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
export RESTIC_REPOSITORY="rclone:cloudflare-r2:{{ backup_bucket_prefix }}-{{ inventory_hostname }}"
|
export RESTIC_REPOSITORY="{{ restic_repository_name }}"
|
||||||
export PWD_FILE=/backup-pwd
|
export PWD_FILE=/backup-pwd
|
||||||
export RESTIC=/usr/bin/restic
|
export RESTIC=/usr/bin/restic
|
||||||
|
|||||||
@ -4,6 +4,6 @@ provider = Cloudflare
|
|||||||
access_key_id = {{ cloudflare_r2_access_key }}
|
access_key_id = {{ cloudflare_r2_access_key }}
|
||||||
secret_access_key = {{ cloudflare_r2_secret_key }}
|
secret_access_key = {{ cloudflare_r2_secret_key }}
|
||||||
region = auto
|
region = auto
|
||||||
endpoint = {{ cloudflare_r2_endpoint | urlsplit('scheme') ~ '://' ~ cloudflare_r2_endpoint | urlsplit('netloc') }}
|
endpoint = {{ endpoint_without_bucket }}
|
||||||
bucket_acl = private
|
bucket_acl = private
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user