ansible: daily replica of the hel1 buckets into fsn1
restic writes both regions itself, but the ad-hoc backups under asxpio-ops/, the Terraform state and the k8s state only ever went to hel1. Sync each hel1 bucket into its fsn1 twin every morning from asxpio-services, with rclone pinned like everything else. restic/ is excluded, so the independent fsn1 restic repositories are never touched. A run that would delete more than 1000 objects stops and mails, so a mistake on the hel1 side cannot empty the replica the next morning. The first dry run copied 23 objects and deleted none. Assisted-by: Claude:opus-5-5
This commit is contained in:
parent
d5442f2c36
commit
2e9d4649a0
8 changed files with 117 additions and 0 deletions
16
ansible/roles/s3_replicate/defaults/main.yaml
Normal file
16
ansible/roles/s3_replicate/defaults/main.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
# Daily one-way replica of the hel1 buckets into their fsn1 twins.
|
||||
# restic/ is excluded: restic writes its own, independent fsn1 repository.
|
||||
|
||||
# renovate: datasource=docker depName=rclone/rclone
|
||||
s3_replicate_rclone_version: "1.76.0"
|
||||
|
||||
s3_replicate_pairs:
|
||||
- { src: asxpio-backups-main, dst: asxpio-backups-repl, exclude: ["restic/**"] }
|
||||
- { src: asxpio-terraform-main, dst: asxpio-terraform-repl }
|
||||
- { src: k8s-asxpio-main, dst: k8s-asxpio-repl }
|
||||
|
||||
# A run that would delete more than this stops and fails (and mails):
|
||||
# a mistake on the hel1 side must not empty the replica the next morning
|
||||
s3_replicate_max_delete: 1000
|
||||
s3_replicate_schedule: "*-*-* 06:00:00"
|
||||
Loading…
Add table
Add a link
Reference in a new issue