fuzzymistborn.autorestic
Installateur Autorestic/Restic
Un rôle ansible pour installer et configurer restic et autorestic. L'inspiration pour ce rôle vient de @IronicBadger et aussi de @ItsNotGoodName pour les améliorations de l'installateur et de la copie de configuration.
Installez avec ansible-galaxy install fuzzymistborn.autorestic
Fonctionnalités
- Installation et configuration des binaires GO
restic
etautorestic
. - Copie/mise à jour du fichier de configuration
autorestic
. - Mise à jour des binaires s'il y a une mise à jour et que la version n'est pas fixée.
Configuration
Ce rôle a plusieurs variables qui peuvent être configurées.
De plus, vous pouvez fixer une version spécifique de chaque binaire avec autorestic_pinned_ver
ou restic_pinned_ver
. Par défaut, le rôle cherche et installe la dernière version disponible, et exécutera la commande de mise à jour si le binaire est déjà présent à chaque fois que le rôle est exécuté. Vous pouvez désactiver cela en fixant une version spécifique. Voici un exemple pour définir la version.
autorestic_download_latest_ver: false
autorestic_pinned_ver: 1.2.0
restic_download_latest_ver: false
restic_pinned_ver: 0.12.1
En fixant une version, les commandes de mise à jour ne s'exécuteront pas et une version ne sera tirée que si la version installée ne correspond pas à la version fixée.
Autres variables pouvant être modifiées :
autorestic_config_user: root
autorestic_config_yaml: CHANGEME # configuration autorestic en yaml
autorestic_config_path: "{{ autorestic_user_directory }}/.autorestic.yml"
autorestic_config_mode: 0600
autorestic_config_owner: "{{ autorestic_config_user }}"
autorestic_config_group: "{{ autorestic_config_user }}"
autorestic_distro: linux_amd64
restic_distro: linux_amd64
Je ne recommande pas de modifier les autres variables, comme restic_gh_url
, restic_install_directory
, etc., à moins que vous ne souhaitiez personnaliser l'installation.
Consultez les pages de publication pour autorestic et restic pour trouver la bonne distribution pour votre installation.
Exemple de fichier de configuration Autorestic
La configuration d'Autorestic est copiée dans le répertoire personnel de l'utilisateur root par défaut. Il peut être changé pour le répertoire personnel d'un autre utilisateur avec la variable autorestic_config_user
.
Voici un exemple qui montre toutes les options disponibles.
autorestic_config_yaml:
locations:
docker:
from: '/opt/docker'
to:
- local
- b2_docker
backends:
local:
type: local
path: /backup
key: 123
b2_docker:
type: s3
path: 'b2_backend_url'
key: b2_password
env:
AWS_ACCESS_KEY_ID: 1234
AWS_SECRET_ACCESS_KEY: 1234abc
Pour plus de documentation, veuillez consulter la documentation officielle.
API Github
Ce rôle utilise l'API GitHub pour déterminer la dernière version disponible. Par défaut, le rôle utilise des requests non authentifiées, qui sont limitées par GitHub à 60 requêtes par heure. Les requêtes sont associées à l'adresse IP d'origine. Pour la plupart des cas d'utilisation, cela n'est pas un problème. Cependant, vous pouvez vous retrouver limité en termes de fréquence. Si vous vous authentifiez, vous pouvez faire 5 000 requêtes par heure.
Pour vous authentifier, vous devez obtenir un Jeton d'accès personnel. Le jeton n'a besoin d'aucun champ sélectionné. Ajoutez ensuite les variables suivantes :
github_api_user: fuzzymistborn
github_api_pass: VOTRE_JETON
github_api_auth: oui
C'est tout !
À faire
Ajouter des variables de cronjob (?) pour des tâches basiques (sauvegarde, oubli, etc).- Je ne pense pas que je vais l'implémenter. Trop personnalisé et trop de diversité dans la façon de procéder. Je vais continuer à réfléchir à une solution.
Trouver un moyen de fixer restic même en mettant à jour autorestic.
Si vous appréciez mon travail, veuillez envisager de m'acheter une bière (ou un café, ou autre)
ansible-galaxy install fuzzymistborn.autorestic