fuzzymistborn.autorestic

Autorestic/Restic Installer

Eine Ansible-Rolle zur Installation und Konfiguration von restic und autorestic. Die Inspiration/Basis für die Rolle stammt von @IronicBadger und auch von @ItsNotGoodName für Verbesserungen beim Installer/Kopieren der Konfiguration.

Installiere mit ansible-galaxy install fuzzymistborn.autorestic

Funktionen

  • Installation und Konfiguration der restic und autorestic GO-Binärdateien.
  • Kopieren/Aktualisieren der autorestic Konfigurationsdatei.
  • Aktualisierung der Binärdateien, wenn eine Aktualisierung vorliegt und die Version nicht festgelegt ist.

Konfiguration

Diese Rolle hat eine Reihe von Variablen, die konfiguriert werden können.

Zusätzlich kannst du eine spezifische Version einer der Binärdateien mit autorestic_pinned_ver oder restic_pinned_ver festlegen. Standardmäßig lädt die Rolle die neueste verfügbare Version herunter und installiert sie. Sie führt den Aktualisierungsbefehl aus, wenn die Binärdatei bereits vorhanden ist, jedes Mal, wenn die Rolle ausgeführt wird. Du kannst dies deaktivieren, indem du auf eine spezifische Version festlegst. Hier ist ein Beispiel, wenn du die Version festlegen möchtest.

autorestic_download_latest_ver: false
autorestic_pinned_ver: 1.2.0
restic_download_latest_ver: false
restic_pinned_ver: 0.12.1

Durch das Festlegen einer festen Version werden die Aktualisierungsbefehle nicht ausgeführt, und eine Version wird nur heruntergeladen, wenn die installierte Version nicht mit der festgelegten Version übereinstimmt.

Andere Variablen, die geändert werden können:

autorestic_config_user: root
autorestic_config_yaml: ÄNDERE_MICH  # autorestic-Konfiguration in 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

Die anderen Variablen, wie restic_gh_url, restic_install_directory usw. empfehle ich nicht zu ändern, es sei denn, du möchtest die Installation anpassen.

Sieh dir die Veröffentlichungsseiten für autorestic und restic an, um die richtige Distribution für deine Installation zu finden.

Beispiel für die Autorestic-Konfigurationsdatei

Die Autorestic-Konfiguration wird standardmäßig in das Home-Verzeichnis des Root-Benutzers kopiert. Sie kann mit der Variablen autorestic_config_user in das Home-Verzeichnis eines anderen Benutzers geändert werden.

Unten ist ein Beispiel, das alle verfügbaren Optionen zeigt.

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

Für zusätzliche Dokumentation sieh dir die offiziellen Dokumente an.

Github API

Diese Rolle nutzt die GitHub API, um die neueste verfügbare Veröffentlichung zu bestimmen. Standardmäßig nutzt die Rolle nicht authentifizierte Anfragen, die von GitHub eingeschränkt sind auf 60 Anfragen pro Stunde. Anfragen sind mit der ursächlichen IP-Adresse verbunden. Für die meisten Anwendungsfälle ist das kein Problem. Du könntest jedoch auf eine Begrenzung stoßen. Wenn du dich authentifizierst, kannst du 5.000 Anfragen pro Stunde stellen.

Um dich zu authentifizieren, musst du ein Personal Access Token erhalten. Das Token benötigt keine ausgewählten Berechtigungen. Füge dann die folgenden Variablen hinzu:

github_api_user: fuzzymistborn
github_api_pass: DEIN_TOKEN
github_api_auth: yes

Das war's!

To Do

  • Füge Cronjob-Variablen hinzu (?) für grundlegende Aufgaben (Backup, Vergessen, usw.).
    • Denke nicht, dass ich das umsetzen werde. Zu personalisiert und zu viel Vielfalt in der Vorgehensweise. Werde weiter nach einer Lösung suchen.
  • Finde einen Weg, Restic zu fixieren, auch wenn Autorestic aktualisiert wird.

Wenn du meine Arbeit schätzt, erwäge bitte, mir ein Bier (oder einen Kaffee oder was auch immer) zu kaufen.

ko-fi

Über das Projekt

Installs restic/autorestic and creates backup configuration file

Installieren
ansible-galaxy install fuzzymistborn.autorestic
Lizenz
gpl-3.0
Downloads
44.3k
Besitzer