--- backup_store_dir: "{{ ansible_env.HOME }}/backups" backup_store_ssh_key: "{{ ansible_env.HOME }}/.ssh/id_pull" backup_store_on_calendar: "*-*-* 04:00:00" # One entry per source. `retention_days` is the LONG tail; the source keeps its # own short local retention. # - name: headscale # source: "backup-pull@headscale.contrapeso.xyz:/opt/backups/headscale/" # retention_days: 90 backup_store_sources: [] # ── Reporting ──────────────────────────────────────────────────────────────── # check-backups.sh reports one result PER SOURCE plus one for the store itself, # so the base URL is the endpoints collection and the script appends each key. # Empty is valid: the script still prints its report and exits 0/1. backup_store_check_push_base: "" backup_store_check_push_token: "" # Runs after the 04:00 pull. Late enough that a slow pull has finished, early # enough that a failure is visible before the working day. backup_store_check_on_calendar: "*-*-* 05:30:00" # An artefact older than this is stale. Sources dump daily at 02:00-02:30 and the # pull is at 04:00, so 26h tolerates exactly one missed night before alarming. backup_store_check_max_age_hours: 26