paulfantom.restic

restic logo

Ansible Rolle: restic

Build-Status Lizenz Ansible Rolle GitHub-Tag

WICHTIG - Projekt archiviert

Das Projekt ist archiviert, da ich kein Interesse mehr an der Wartung habe (ich benutze es nicht mehr). Ich stelle es gerne wieder zur Verfügung, wenn jemand Interesse hat, es zu pflegen. Wenn du so eine Person bist, schreib mir eine E-Mail an paulfantom@gmail.com.

Beschreibung

Setze restic - ein schnelles, sicheres und effizientes Backup-Programm - ein.

Voraussetzungen

  • Ansible > 2.2
  • bzip2 muss auf dem Zielrechner installiert sein (dem, auf dem Ansible installiert ist)

Rollenvariablen

Alle übersteuerbaren Variablen sind in der Datei defaults/main.yml sowie in der untenstehenden Tabelle gespeichert.

Name Standardwert Beschreibung
restic_version 0.9.6 Version des restic-Pakets. Akzeptiert auch "latest" als Parameter.
restic_user "root" Systembenutzer, unter dem restic läuft
restic_group "root" Systemgruppe, unter der restic läuft
restic_shell "/bin/false" Die Shell für den restic-Benutzer. Ändere dies, wenn du dich als dieser Benutzer anmelden möchtest
restic_install_path "/usr/local/bin" Verzeichnis, in dem die restic-Binärdatei installiert wird
restic_cron_mailto restic_user An wen die Ergebnisse der restic-Cronjobs gesendet werden, auf "" setzen, um keine E-Mails zu senden
restic_cron_stdout_file null In welche Datei die restic-Ausgaben protokolliert werden, null bedeutet, dass sie in die E-Mail aufgenommen werden, /dev/null verwenden, um sie zu verwerfen
restic_cron_stderr_file null In welche Datei die restic-Fehler protokolliert werden, null bedeutet, dass sie in die E-Mail aufgenommen werden, /dev/null verwenden, um sie zu verwerfen
restic_sudo_command_whitelist [] Liste von Befehlen, die restic mit sudo ausführen darf
restic_repos [] Konfiguration der restic-Repositories und Cronjobs. Weitere Infos in defaults/main.yml

Sicherheit

Um hohe Sicherheit zu gewährleisten, kann diese Rolle es ermöglichen, dass restic unter einem anderen Benutzer als root ausgeführt wird und dennoch schreibgeschützten Zugriff auf Dateien ermöglicht. Dies wurde durch PR#1483 im restic-Repository implementiert.

Wenn du bestimmte Tools als ein anderer Benutzer ausführen musst, stelle sicher, dass diese in restic_sudo_command_whitelist aufgeführt sind:

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

Dann füge in deinem tatsächlichen Backup-Befehl den Befehl als sudo -u root /usr/bin/ein_backup_bezogener_befehl_der_sudo_braucht hinzu.

Hilfsprogramme

Diese Rolle installiert auch Hilfsskripte im restic_install_path. Diese Skripte sind nach deinem Repository benannt und stellen sicher, dass die Umgebungsvariablen für dieses Repository korrekt sind.

Zum Beispiel, wenn du ein restic-Repository mit dem Namen testrepo hast, könntest du den Befehl restic-testrepo verwenden, der restic mit den richtigen Umgebungsvariablen zur Manipulation dieses Repositories ausführt.

Beispiel

Playbook

Verwende es in einem Playbook wie folgt:

- hosts: all
  roles:
    - paulfantom.restic

Lokale Tests

Die bevorzugte Methode, die Rolle lokal zu testen, ist die Verwendung von Docker und molecule (v2.x). Du musst Docker auf deinem System installieren. Siehe "Erste Schritte" für ein passendes Docker-Paket für dein System. Alle Pakete, die du benötigst, können in einer Zeile angegeben werden:

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

Dies sollte ähnlich sein wie das, was im Abschnitt install der .travis.yml-Datei aufgeführt ist. Nach der Installation der Test-Suite kannst du den Test mit dem Befehl

molecule test --all

ausführen. Für weitere Informationen über molecule gehe zu ihren Dokumenten.

Travis CI

Die Kombination von molecule und travis CI ermöglicht es, zu testen, wie neue PRs mit mehreren Ansible-Versionen und mehreren Betriebssystemen funktionieren werden. Dies ermöglicht auch das Erstellen von Testszenarien für verschiedene Rollenkonfigurationen. Infolgedessen ist die Testmatrix recht groß und dauert länger als lokale Tests, also sei bitte geduldig.

Mitwirken

Siehe Mitwirkungsrichtlinie.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Siehe LICENSE für weitere Details.

Über das Projekt

Fast, secure, efficient backup program

Installieren
ansible-galaxy install paulfantom.restic
Lizenz
mit
Downloads
55.6k
Besitzer
SRE / SWE specializing in observability. tea addict :tea: