Ajout de la configuration de restic dans ansible
parent
4302a72ffa
commit
1508def858
|
@ -230,6 +230,147 @@ familiarisez avec la structure et le fonctionnement ainsi que la syntaxe.
|
|||
Cependant, vous devriez avoir les clés pour comprendre les fichiers de
|
||||
configuration !
|
||||
|
||||
### Configuration des backups
|
||||
|
||||
Bien qu'ansible configure par défaut les backups, quelques actions sont
|
||||
nécéssaires. Pour ce qui est des backups sous borg, elles seront automatiquement
|
||||
configurer et aucune action n'est requise. Pour les backups sous restics, il
|
||||
peut être nécessaire de faire les actions qui suivent.
|
||||
|
||||
#### Configuration de base
|
||||
|
||||
##### Génération des secrets
|
||||
|
||||
Les backups sous restic nécessite la génération de secrets dans le pass pour
|
||||
chaque machine (plus de détail dans la documentation de restic). Cela lui
|
||||
confère une sécurité accrue (plus que la configuration de borg).
|
||||
|
||||
Si la machine que vous cherchez à configurer a déjà eu des backus sous restic,
|
||||
alors il est fort probable que rien ne soit à faire à ce stade.
|
||||
|
||||
Si la machine est neuve (ou n'a jamais eu de backups restic), vous devez générer
|
||||
2 secrets. Pour être sûr⋅e qu'il n'y ait pas de problèmes, on utilisera les
|
||||
minuscules, majuscules et chiffres. En particulier, aucuns symboles ou caractères
|
||||
spéciaux ne seront utilisés. Vous devrez générer un mot de passe avec 64
|
||||
caractères (`rest_password`) et un de 256 caractères (`repo_password`). Il faut
|
||||
alors les ajouter dans le pass dans le fichier `ansible/restic`. Ajouter alors
|
||||
la machine selon le format :
|
||||
|
||||
```yaml
|
||||
<nom machine>:
|
||||
rest_password: <mdp de 64 caractères>
|
||||
repo_password:
|
||||
base: <mdp de 256 caractères>
|
||||
```
|
||||
|
||||
Ensuite, il faut dire à `thot` que vous souhaitez utiliser le `rest_password`
|
||||
que vous venez de générer. Pour cela, vous devez vous ssh sur `thot` et éxécuter
|
||||
la commande :
|
||||
|
||||
```bash
|
||||
$ sudo su
|
||||
# cd /backup
|
||||
# htpasswd -B .htpasswd <nom machine>
|
||||
```
|
||||
|
||||
Puis le secret vous sera demandé (puis re-demandé pour confirmer).
|
||||
|
||||
##### Configuration dans Ansible
|
||||
|
||||
Par défaut, sont backupé `/var` et `/etc`. Si cela ne convient pas, il est
|
||||
possible de modifier cela en ajoutant (au besoin) dans
|
||||
`host_vars/<nom machine>` :
|
||||
|
||||
```yaml
|
||||
loc_restic:
|
||||
config:
|
||||
base:
|
||||
# pour exclure des chemins
|
||||
to_exclude:
|
||||
- <premier chemins>
|
||||
- <deuxième chemins>
|
||||
|
||||
# pour ajouter des chemins
|
||||
to_backup:
|
||||
- /etc
|
||||
- /var
|
||||
- <un autre chemin>
|
||||
|
||||
# changer la rétention des backups
|
||||
retention:
|
||||
- [--keep-daily, <int>]
|
||||
- [--keep-weekly, <int>]
|
||||
- etc
|
||||
```
|
||||
|
||||
Enfin, vous pourrez appliquer la configuration ansible à l'aide de la commande :
|
||||
|
||||
```bash
|
||||
$ plays/restic_client.yml -l <nom machine>.adm.crans.org --check
|
||||
```
|
||||
|
||||
> Pensez à retirer le `--check` une fois que vous aurez vérifier que tout s'est
|
||||
> bien passé !
|
||||
|
||||
#### Configuration de backup supplémentaire
|
||||
|
||||
Il est possible que la machine que vous déployez nécessite d'effectuer d'autres
|
||||
backups, mais vous souhaitez les rendre indépendantes des backups de base comme
|
||||
c'est le cas pour `tealc` et `cameron` (à l'heure où ces lignes ont été
|
||||
rédigées).
|
||||
|
||||
##### Génération d'un nouveau secret
|
||||
|
||||
Comme mentionner dans la partie précédente, des secrets sont nécessaires pour le
|
||||
fonctionnement de restic. Si vous êtes ici, c'est que vous avez déjà un
|
||||
`rest_password` et un `repo_password`. Il faut alors générer un autre
|
||||
`repo_password` (256 caractères avec minuscules, majuscules et chiffres) et le
|
||||
placer dans le pass. Vous devriez avoir quelque chose qui ressemble à :
|
||||
|
||||
```yaml
|
||||
<nom machine>:
|
||||
rest_password: <mdp de 64 caractères>
|
||||
repo_password:
|
||||
base: <mdp de 256 caractères>
|
||||
<un nom>: <le mdp de 256 caractères que vous venez de générer>
|
||||
```
|
||||
|
||||
##### Configuration dans Ansible
|
||||
|
||||
Vous devez alors annoncer à ansible ce qui doit être backupé. Ajoutez alors, si
|
||||
la variable n'est pas là ou complétez sinon, dans
|
||||
`host_vars/<nom machine>.adm.crans.org` :
|
||||
|
||||
```yaml
|
||||
loc_restic:
|
||||
config:
|
||||
<un nom>: # le même nom que dans le pass
|
||||
# chemins à exclure
|
||||
to_exclude:
|
||||
- <premier chemins>
|
||||
- <deuxième chemins>
|
||||
|
||||
# chemins à inclure
|
||||
to_backup:
|
||||
- <un chemin>
|
||||
- <un autre chemin>
|
||||
|
||||
# changer la rétention des backups
|
||||
retention:
|
||||
- [--keep-daily, <int>]
|
||||
- [--keep-weekly, <int>]
|
||||
- etc
|
||||
```
|
||||
|
||||
Enfin, vous pourrez appliquer la configuration ansible à l'aide de la commande :
|
||||
|
||||
```bash
|
||||
$ plays/restic_client.yml -l <nom machine>.adm.crans.org --check
|
||||
```
|
||||
|
||||
> Pensez à retirer le `--check` une fois que vous aurez vérifier que tout s'est
|
||||
> bien passé !
|
||||
|
||||
### Configurer le reverseproxy
|
||||
|
||||
Si votre service nécessite de recevoir une connexion depuis l'extérieur, il
|
||||
|
@ -241,3 +382,4 @@ reverseproxy). Pour cela il suffit de :
|
|||
ajouter `- {from: helloworld.crans.org, to: 172.16.10.131}`
|
||||
- exécuter le playbook reverseproxy
|
||||
(`plays/reverseproxy -l hodaur.adm.crans.org --check`)
|
||||
|
||||
|
|
Loading…
Reference in New Issue