paulfantom.restic

logo de restic

Rôle Ansible : restic

Statut de la construction Licence Rôle Ansible Tag GitHub

IMPORTANT - Projet archivé

Le projet est archivé en raison de mon manque d'intérêt pour sa maintenance (je ne l'utilise plus). Je le réactiverai avec plaisir si quelqu'un est intéressé à le maintenir. Si vous êtes cette personne, écrivez-moi un email à paulfantom@gmail.com.

Description

Déployez restic - un programme de sauvegarde rapide, sécurisé et efficace.

Exigences

  • Ansible > 2.2
  • bzip2 installé sur la machine de déploiement (celle où Ansible est installé)

Variables de rôle

Toutes les variables qui peuvent être remplacées sont stockées dans le fichier defaults/main.yml ainsi que dans le tableau ci-dessous.

Nom Valeur par défaut Description
restic_version 0.9.6 version du package restic. Accepte également 'latest' comme paramètre.
restic_user "root" utilisateur système pour exécuter restic
restic_group "root" groupe système pour exécuter restic
restic_shell "/bin/false" le shell pour l'utilisateur restic, changez ceci si vous souhaitez pouvoir s'y connecter
restic_install_path "/usr/local/bin" répertoire où le binaire restic sera installé
restic_cron_mailto restic_user à qui envoyer les résultats des tâches cron de restic, mettre à "" pour ne pas envoyer de mail
restic_cron_stdout_file null fichier pour enregistrer la sortie de restic, null signifie inclure dans le mail, utiliser /dev/null pour ignorer
restic_cron_stderr_file null fichier pour enregistrer les erreurs de restic, null signifie inclure dans le mail, utiliser /dev/null pour ignorer
restic_sudo_command_whitelist [] liste blanche des commandes que restic est autorisé à exécuter avec sudo
restic_repos [] configuration des dépôts et des tâches cron de restic. Plus d'infos dans defaults/main.yml

Sécurité

Pour assurer une haute sécurité, ce rôle peut permettre à restic d'être exécuté en tant qu'utilisateur différent de root tout en permettant un accès en lecture seule aux fichiers. Cela est mis en œuvre par le biais de la PR#1483 du dépôt restic.

Si vous devez exécuter certains outils en tant qu'autre utilisateur, assurez-vous de les lister dans restic_sudo_command_whitelist comme suit :

restic_sudo_command_whitelist:
   - command: /usr/bin/some_backup_related_command_that_needs_sudo
     runas: root

Ensuite, dans votre commande de sauvegarde réelle, ajoutez la commande comme sudo -u root /usr/bin/some_backup_related_command_that_needs_sudo.

Aides

Ce rôle installe également des scripts d'aide dans restic_install_path. Ces scripts portent le nom de votre dépôt et garantiront que les variables d'environnement sont correctes pour ce dépôt.

Par exemple, si vous avez un dépôt restic nommé testrepo, vous pourriez utiliser la commande restic-testrepo, qui exécutera restic avec les bonnes variables d'environnement pour manipuler ce dépôt.

Exemple

Playbook

Utilisez-le dans un playbook comme suit :

- hosts: all
  roles:
    - paulfantom.restic

Tests Locaux

La meilleure façon de tester localement le rôle est d'utiliser Docker et molecule (v2.x). Vous devrez installer Docker sur votre système. Consultez la section "Démarrer" pour un package Docker adapté à votre système. Tous les packages dont vous avez besoin peuvent être spécifiés en une seule ligne :

pip install ansible 'ansible-lint>=3.4.15' 'molecule>2.13.0' docker 'testinfra>=1.7.0' jmespath

Cela devrait être similaire à ce qui est listé dans le fichier .travis.yml dans la section install. Après avoir installé la suite de tests, vous pouvez exécuter le test en lançant

molecule test --all

Pour plus d'informations sur molecule, consultez leur documentation.

Travis CI

Combiner molecule et travis CI permet de tester comment de nouvelles PR se comporteront avec plusieurs versions d'ansible et systèmes d'exploitation. Cela permet également de créer des scénarios de test pour différentes configurations de rôle. Par conséquent, la matrice de test est assez grande et prend plus de temps que les tests locaux, alors veuillez être patient.

Contribuer

Voir les lignes directrices pour les contributeurs.

Licence

Ce projet est sous licence MIT. Consultez LICENSE pour plus de détails.

À propos du projet

Fast, secure, efficient backup program

Installer
ansible-galaxy install paulfantom.restic
Licence
mit
Téléchargements
55.6k
Propriétaire
SRE / SWE specializing in observability. tea addict :tea: