add new and improved backup-scripts system

This commit is contained in:
Jef Roosens 2026-04-04 20:48:50 +02:00
parent 6c77886916
commit 77e6f77aba
Signed by: Jef Roosens
GPG key ID: 21FD3D77D56BAF49
8 changed files with 173 additions and 0 deletions

View file

@ -0,0 +1,47 @@
# List of backup jobs to configure. Each entry creates a systemd service and
# timer. Required keys per entry vary by type:
#
# All types:
# name: (required) unique identifier, used in unit and script filenames
# type: (required) backup template to use: btrfs-subvolume, podman-postgres, postgres
# user: (optional) user to run the backup as; defaults to root
# group: (optional) group to run the backup as; defaults to backups
# timer_delay_sec: (optional) RandomizedDelaySec for the timer; defaults to 30 minutes
#
# btrfs-subvolume:
# path: (required) path to the btrfs subvolume to back up
#
# podman-postgres:
# container: (required) name of the podman container running postgres
# pg_user: (required) postgres user to connect as
# database: (required) postgres database to dump
#
# postgres:
# pwd: (required) working directory for podman compose
# user: (required) postgres user to connect as
# database: (required) postgres database to dump
backups: []
# Restic REST server URL to publish backups to
backup_restic_repository: "rest:http://localhost:8000/backups"
# Path to the file containing the Restic repository password
backup_restic_password_file: "/etc/backups/restic_backups_passwd"
# Directory where backup scripts are stored
backup_scripts_dir: "/etc/backups"
# Hour at which all backup timers fire (24h)
backup_timer_hour: "02"
# Minute at which all backup timers fire
backup_timer_minute: "00"
# Randomized delay from start time that services are started
backup_timer_delay_sec: "1800"
# OpenTelemetry collector endpoint for backup tracing
backup_otel_endpoint: "http://localhost:4318"
# OpenTelemetry service name used to identify backup spans
backup_otel_service_name: "backups"