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
iautorestic
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)
ansible-galaxy install fuzzymistborn.autorestic