Choix : sauvegarder la donnée d'état (non régénérable), pas les VM (reconstructibles par le code). restic (chiffré, dédupliqué, rétention). serveur_backup = cible SFTP (backup-01). client_backup = intégration par nœud : restic + jobs déclaratifs + timer systemd + rétention, secrets voûte. Prouvé de bout en bout sur le Tier 0 : infra-pki-01 → /etc/step-ca sauvegardé hors-nœud vers backup-01, restauration byte-identique des clés CA. Reste : jobs Tier 1 (pg_dump/slapcat/vmail/forgejo) + offsite (3-2-1). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
30 lines
1.3 KiB
YAML
30 lines
1.3 KiB
YAML
---
|
|
# Sauvegarde applicative (logique) d'un nœud vers la cible restic hors-nœud.
|
|
# Chaque nœud déclare ses "jobs" ; restic chiffre côté client + applique la rétention.
|
|
client_backup_paquets:
|
|
- restic
|
|
|
|
# Cible (nœud serveur_backup) + transport SSH.
|
|
client_backup_cible: "backup-01.{{ domaine_interne }}"
|
|
client_backup_utilisateur_distant: "restic"
|
|
client_backup_ssh_key: "/etc/setops/backup_ed25519"
|
|
# Dépôt restic (un sous-dossier par nœud, relatif au home de l'utilisateur distant).
|
|
client_backup_repo: "sftp:{{ client_backup_utilisateur_distant }}@{{ client_backup_cible }}:{{ inventory_hostname }}"
|
|
client_backup_password: "{{ vault_restic_password | default('') }}"
|
|
client_backup_ssh_privkey: "{{ vault_backup_ssh_privkey | default('') }}"
|
|
|
|
# Dossier de préparation des dumps (pg_dump, slapcat, forgejo dump...).
|
|
client_backup_staging: "/var/backups/setops"
|
|
|
|
# Rétention (restic forget).
|
|
client_backup_retention: "--keep-daily 7 --keep-weekly 4 --keep-monthly 6"
|
|
|
|
# Planification (timer systemd).
|
|
client_backup_horaire: "*-*-* 02:30:00"
|
|
|
|
# Jobs déclaratifs. Chaque job :
|
|
# nom : identifiant
|
|
# commande : (optionnel) dump écrivant dans {{ staging }}/{{ nom }}
|
|
# chemins : liste de chemins à inclure dans le snapshot restic
|
|
# Défini par nœud (group_vars). Ex. step_ca : { nom: step_ca, chemins: [/etc/step-ca] }.
|
|
client_backup_jobs: []
|