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:
Sergei Poljanski 2026-11-12 22:52:13 +04:00
commit 2e9d4649a0
8 changed files with 117 additions and 0 deletions

View 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"