M4 a reconstruit Technolibre par le site qui la nomme ; les 7 jeux sont revenus de l'instantane de 11:34, mais le premier depot d'apres reconstruction l'a chasse par --keep-daily le jour meme : plus rien a quoi comparer. Le depot d'avant rasage est etiquete avant-raser et garde jusqu'a la reconstruction suivante. Le bilan dit ce qui a ete restaure et si c'est encore au depot. setops-restaurer temoins et make temoins-etat comparent l'etat vivant a cet instantane : une perte ou une identite changee est un ecart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
---
|
|
# ACCES AU DEPOT DE CE NOEUD — partage par la sauvegarde (`main.yml`) et par la
|
|
# restauration (`restaurer.yml`, incluse par les roles proprietaires de l'etat).
|
|
#
|
|
# Une seule copie de ces taches : deux facons de poser une cle finiraient par diverger,
|
|
# et on ne le decouvrirait que le jour ou l'on restaure.
|
|
- name: Installer restic
|
|
ansible.builtin.apt:
|
|
name: "{{ client_backup_paquets }}"
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Créer le répertoire des secrets Set-OPS
|
|
ansible.builtin.file:
|
|
path: /etc/setops
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0700"
|
|
|
|
- name: Déposer la clé SSH privée de sauvegarde
|
|
ansible.builtin.copy:
|
|
content: "{{ client_backup_ssh_privkey }}"
|
|
dest: "{{ client_backup_ssh_key }}"
|
|
owner: root
|
|
group: root
|
|
mode: "0600"
|
|
no_log: true
|
|
|
|
- name: Déposer le mot de passe restic
|
|
ansible.builtin.copy:
|
|
content: "{{ client_backup_password }}\n"
|
|
dest: /etc/setops/restic.pass
|
|
owner: root
|
|
group: root
|
|
mode: "0600"
|
|
no_log: true
|
|
|
|
- name: Assurer /root/.ssh
|
|
ansible.builtin.file:
|
|
path: /root/.ssh
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0700"
|
|
|
|
- name: Configurer l'accès SSH à la cible de sauvegarde
|
|
ansible.builtin.blockinfile:
|
|
path: /root/.ssh/config
|
|
create: true
|
|
owner: root
|
|
group: root
|
|
mode: "0600"
|
|
marker: "# {mark} SETOPS BACKUP {{ client_backup_cible }}"
|
|
block: |
|
|
Host {{ client_backup_cible }}
|
|
User {{ client_backup_utilisateur_distant }}
|
|
IdentityFile {{ client_backup_ssh_key }}
|
|
IdentitiesOnly yes
|
|
StrictHostKeyChecking accept-new
|
|
|
|
- name: Déployer l'outil de restauration (setops-restaurer)
|
|
ansible.builtin.template:
|
|
src: restaurer.sh.j2
|
|
dest: /usr/local/sbin/setops-restaurer
|
|
owner: root
|
|
group: root
|
|
mode: "0700"
|
|
|
|
# LES TEMOINS (2026-10-07) : `setops-restaurer temoins` extrait l'instantane d'avant rasage,
|
|
# puis ce comparateur le confronte a l'etat vivant. Lecture seule.
|
|
- name: Déployer le comparateur des témoins (setops-temoins)
|
|
ansible.builtin.copy:
|
|
src: setops-temoins.py
|
|
dest: /usr/local/sbin/setops-temoins
|
|
owner: root
|
|
group: root
|
|
mode: "0700"
|