hadret.restic
Ansible Rolle: Restic
Eine Ansible-Rolle, die restic unter Linux und FreeBSD installiert.
Anforderungen
Keine.
Rollenvariablen
Die verfügbaren Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml):
restic_version: '0.15.1'
restic_install_path: '/usr/local/bin'
restic_password_file_path: '/root'
restic_discard_cron_stdout: false
restic_user: root
restic_group: "{{ restic_user }}"
restic_version
gibt die Version der zu installierenden Restic-Binärdatei an. Sie wird mit dem GitHub-Repository abgeglichen, in dem die Versionen zum Herunterladen angekündigt werden.restic_install_path
gibt den Pfad an, von dem aus die Restic-Binärdatei verfügbar sein sollte (/usr/local/bin
ist standardmäßig Teil von$PATH
). Dies ist auch der gleiche Pfad, der vom Wrapper-Skript verwendet wird, das die eigentliche Backup-Ausführung durchführt, wobei der Name als$restic_install_path/restic-$job_name
konstruiert wird (mehr dazu später).restic_password_file_path
gibt den Pfad zum Ordner an, in dem die Passwortdateien für Restic-Repositories gespeichert werden sollen. Jede Datei wird als$restic_password_file_path/.restic-@job_name
erstellt. Diese Dateien sind standardmäßig verborgen (daher das.
vor der Datei) und sind nur für denrestic_user
und dierestic_group
zum Lesen zugänglich. Diese sind standardmäßigroot
, können aber überschrieben werden, sodass jeder gültige/bereits vorhandene Benutzer verwendet werden kann. In diesem Fall werden angemessene Berechtigungen für diesen Benutzer sichergestellt.
restic_discard_cron_stdout: false
Definiert, ob die Ausgaben des Cronjobs nach /dev/null
geleitet werden sollen oder nicht (es wird eine E-Mail bei jedem Ausführen gesendet, wenn dies auf false
gesetzt ist).
restic_prometheus_exporter: true
restic_prometheus_output_path: /var/lib/node_exporter/textfile_collector
Es aktiviert eine sehr einfache Prometheus-Integration, die drei Werte am Standard-Textdateisammlerstandort schreibt. Bitte beachten Sie, dass die Aktivierung dieser Unterstützung zwei zusätzliche Abhängigkeiten installiert/benötigt: jq
und moreutils
(für sponge
).
restic_repos: []
Dies definiert ein Array von Restic-Jobs. Jeder definierte Job erstellt ein separates Wrapper-Skript und eine Passwortdatei. Beispiele finden Sie in defaults/main.yml.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: all
roles:
- hadret.restic
Danksagungen
Diese Rolle baut auf den Arbeiten von donat-b/ansible-restic und paulfantom/ansible-restic auf. Alle Tests von molecule
und die CI-Konfiguration basieren auf der Arbeit von geerlingguy. Viele Teile der Prometheus-Integration wurden direkt aus diesem Restic-Forumthread übernommen.
Lizenz
MIT
Autoreninformation
Diese Rolle wurde 2018 von Filip Chabik zusammengestellt.
ansible-galaxy install hadret.restic