hadret.restic
Ansible Rola: Restic
To jest rola Ansible, która instaluje restic na systemach Linux i FreeBSD.
Wymagania
Brak.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, razem z wartościami domyślnymi (zobacz 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
określa wersję binarki restic, która powinna być zainstalowana. Jest porównywana z repozytorium na GitHubie, gdzie ogłoszone są wydania do pobrania.restic_install_path
podaje ścieżkę, gdzie binarka restic powinna być dostępna (/usr/local/bin
jest domyślnie dodawane do$PATH
). To ta sama ścieżka, która jest używana przez skrypt pomocniczy, który wykonuje faktyczne kopie zapasowe, gdzie nazwa jest tworzona jako$restic_install_path/restic-$job_name
(więcej na ten temat później).restic_password_file_path
podaje ścieżkę do folderu, w którym powinny być przechowywane pliki z hasłami dla repozytoriów restic. Każdy plik jest tworzony jako$restic_password_file_path/.restic-@job_name
. Te pliki są ukryte (stąd.
na początku pliku) i mają ograniczony dostęp do odczytu dla użytkownikarestic_user
i grupyrestic_group
. Domyślnie toroot
, ale można to zmienić na dowolnego istniejącego użytkownika. W takim przypadku zapewnione będą odpowiednie uprawnienia dla tego użytkownika.
restic_discard_cron_stdout: false
Określa, czy wyjście zadania cron powinno być kierowane do /dev/null
, czy nie
(będzie wysyłać e-maile przy każdym wykonaniu, jeśli jest ustawione na false
).
restic_prometheus_exporter: true
restic_prometheus_output_path: /var/lib/node_exporter/textfile_collector
Włącza bardzo prostą integrację z Prometheus, która zapisuje trzy
wartości w domyślnej lokalizacji kolektora plików tekstowych. Należy pamiętać, że
włączenie tej opcji zainstaluje/doda dwie dodatkowe zależności:
jq
oraz moreutils
(do sponge
).
restic_repos: []
Definiuje tablicę zadań restic. Każde zdefiniowane zadanie stworzy osobny skrypt pomocniczy oraz plik z hasłem. Przykłady można znaleźć w defaults/main.yml.
Zależności
Brak.
Przykładowy Playbook
- hosts: all
roles:
- hadret.restic
Podziękowania
Ta rola opiera się na pracach
donat-b/ansible-restic oraz
paulfantom/ansible-restic. Wszystkie
testy molecule
i konfiguracja CI opierają się na pracy
geerlingguy. Wiele części integracji z Prometheus zostało
bezpośrednio przejętych z tego wątku na forum Restic.
Licencja
MIT
Informacje o autorze
Ta rola została częściowo stworzona w 2018 roku przez Filipa Chabika.
ansible-galaxy install hadret.restic