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
|
Cependant, vous devriez avoir les clés pour comprendre les fichiers de
|
||||||
configuration !
|
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
|
### Configurer le reverseproxy
|
||||||
|
|
||||||
Si votre service nécessite de recevoir une connexion depuis l'extérieur, il
|
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}`
|
ajouter `- {from: helloworld.crans.org, to: 172.16.10.131}`
|
||||||
- exécuter le playbook reverseproxy
|
- exécuter le playbook reverseproxy
|
||||||
(`plays/reverseproxy -l hodaur.adm.crans.org --check`)
|
(`plays/reverseproxy -l hodaur.adm.crans.org --check`)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue