fuzzymistborn.autorestic

Instalator Autorestic/Restic

Rozegranie Ansible do instalacji i konfiguracji restic i autorestic. Inspiracją dla tej roli są @IronicBadger oraz @ItsNotGoodName za poprawki w instalatorze i kopiowaniu konfiguracji.

Zainstaluj za pomocą ansible-galaxy install fuzzymistborn.autorestic

Cechy

  • Instalacja i konfiguracja binariów restic i autorestic w języku GO.
  • Kopiowanie/aktualizowanie pliku konfiguracyjnego autorestic.
  • Aktualizacja binariów, jeśli jest dostępna nowa wersja, a wersja nie jest zablokowana.

Konfiguracja

Ta rola ma szereg zmiennych, które można skonfigurować.

Dodatkowo można zablokować konkretną wersję jednego z binariów przy użyciu autorestic_pinned_ver lub restic_pinned_ver. Domyślnie rola pobiera i instaluje najnowszą dostępną wersję, a jeśli binaria już istnieją, uruchomi polecenie aktualizacji za każdym razem, gdy rola jest uruchamiana. Możesz to wyłączyć, blokując na konkretną wersję. Oto przykład, jeśli chcesz ustawić wersję.

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

Ustawiając zablokowaną wersję, polecenia aktualizacji nie będą się uruchamiać, a wersja zostanie pobrana tylko wtedy, gdy zainstalowana wersja nie będzie odpowiadać zablokowanej wersji.

Inne zmienne, które można zmienić:

autorestic_config_user: root
autorestic_config_yaml: ZMIEN_TO  # konfiguracja autorestic w 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

Inne zmienne, takie jak restic_gh_url, restic_install_directory, itp., nie polecam zmieniać, chyba że chcesz dostosować instalację.

Zobacz strony z wydaniami autorestic i restic, aby znaleźć odpowiednią dystrybucję do instalacji.

Przykład pliku konfiguracyjnego Autorestic

Domyślnie konfiguracja Autorestic jest kopiowana do katalogu domowego użytkownika root. Można to zmienić na katalog domowy innego użytkownika za pomocą zmiennej autorestic_config_user.

Poniżej znajduje się przykład, który pokazuje wszystkie dostępne opcje.

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

Aby uzyskać dodatkową dokumentację, zobacz oficjalną dokumentację.

API Github

Ta rola korzysta z API GitHub, aby określić najnowsze dostępne wydanie. Domyślnie rola korzysta z nieautoryzowanych żądań, które są ograniczone przez GitHub do 60 żądań na godzinę. Żądania są powiązane z adresem IP, z którego pochodzą. W większości przypadków nie będzie to problemem, jednak możesz napotkać ograniczenia. Jeśli się autoryzujesz, możesz wykonywać 5 000 żądań na godzinę.

Aby się autoryzować, musisz uzyskać Token Dostępu Osobistego. Token nie musi mieć wybranych żadnych zakresów. Następnie dodaj następujące zmienne:

github_api_user: fuzzymistborn
github_api_pass: TWOJ_TOKEN
github_api_auth: yes

To wszystko!

Do zrobienia

  • Dodaj zmienne cronjob (?) do podstawowych zadań (kopie zapasowe, zapomnienie itp).
    • Nie sądzę, aby to zrealizuję. Zbyt zindywidualizowane i zbyt wiele wariantów, jak to zrobić. Będę nadal myśleć nad jakimś sposobem.
  • Znajdź sposób na zablokowanie restic, nawet jeśli aktualizujesz autorestic.

Jeśli doceniasz moją pracę, rozważ kupno mi piwa (lub kawy, lub czegokolwiek innego)

ko-fi

O projekcie

Installs restic/autorestic and creates backup configuration file

Zainstaluj
ansible-galaxy install fuzzymistborn.autorestic
Licencja
gpl-3.0
Pobrania
44.3k
Właściciel