Sets up backups to Cloudflare R2
Instalation
In requirements.yml:
roles:
- src: git+https://git.internet-czas-dzialac.pl/kuba/ansible-setup-backups.git
version: master
name: setup-backups
Setup
Create a Cloudflare R2 account and create an admin token.
Create a file under templates/backup-scripts/<hostname>.sh.j2 that
is a shell script that prepares the data for backup - leave empty if
not necessary.
Then in your playbook run:
- name: "Setup backups"
hosts: ansible1
roles:
- setup-backups
vars:
backup_bucket_prefix: "backup"
extra_backup_paths: # most sealcode-roles automatically register their backup dirs in the /backup-dirs txt file, but we can add anything not covered by that here
- /var/homebox/data
cloudflare_r2_access_key: "cloudflare R2 Access key (for S3-type API)"
cloudflare_r2_secret_key: "cloudflare R2 secret key (for S3-type API)"
cloudflare_r2_endpoint: https://some_endpoint.r2.cloudflarestorage.com
BACKUP_PASSWORD: password
If you are implementing a role that has to register a directory for
automatic backups, add a task in your role's tasks/backup.yml:
- ansible.builtin.lineinfile:
path: "/backup-dirs"
line: "{{juice_sqlite_path}}"
Description
Languages
Jinja
100%