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/.sh.j2` that is a shell script that prepares the data for backup - leave empty if not necessary. Then in your playbook run: ```yml - 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`: ```yml - ansible.builtin.lineinfile: path: "/backup-dirs" line: "{{juice_sqlite_path}}" ```