paulfantom.restic

logo restic

Rola Ansible: restic

Status budowy Licencja Rola Ansible Tag na GitHubie

WAŻNE - Projekt archiwalny

Projekt został zarchiwizowany z powodu braku zainteresowania jego utrzymywaniem (nie używam go już). Z przyjemnością go odarchiwizuję, jeśli ktoś będzie zainteresowany jego utrzymywaniem. Jeśli jesteś taką osobą, napisz do mnie na adres paulfantom@gmail.com.

Opis

Zainstaluj restic - szybki, bezpieczny i efektywny program do tworzenia kopii zapasowych.

Wymagania

  • Ansible > 2.2
  • zainstalowany bzip2 na maszynie wdrożeniowej (tej samej, na której jest zainstalowany ansible)

Zmienne roli

Wszystkie zmienne, które można nadpisać, są przechowywane w pliku defaults/main.yml oraz w tabeli poniżej.

Nazwa Wartość domyślna Opis
restic_version 0.9.6 wersja pakietu restic. Można także podać "latest".
restic_user "root" użytkownik systemowy do uruchamiania restic
restic_group "root" grupa systemowa do uruchamiania restic
restic_shell "/bin/false" powłoka dla użytkownika restic, zmień to, jeśli chcesz mieć możliwość przełączania się na niego
restic_install_path "/usr/local/bin" katalog, w którym zostanie zainstalowany plik wykonywalny restic
restic_cron_mailto restic_user do kogo ma być wysyłana poczta z wynikami pracy crona restic, ustaw na "" aby nie wysyłać
restic_cron_stdout_file null plik, do którego mają być logowane wyniki restic, null oznacza dołączenie do maila, użyj /dev/null, aby odrzucić
restic_cron_stderr_file null plik, do którego mają być logowane błędy restic, null oznacza dołączenie do maila, użyj /dev/null, aby odrzucić
restic_sudo_command_whitelist [] lista dozwolonych poleceń, które restic może uruchamiać z sudo
restic_repos [] konfiguracja repozytoriów i zadań cron restic. Więcej w defaults/main.yml

Bezpieczeństwo

Aby zapewnić wysoki poziom bezpieczeństwa, ta rola pozwala na uruchamianie restic jako inny użytkownik niż root, przy jednoczesnym zapewnieniu dostępu do plików w trybie tylko do odczytu. Zostało to zaimplementowane zgodnie z PR#1483 z repozytorium restic.

Jeśli musisz uruchomić niektóre narzędzia jako inny użytkownik, upewnij się, że znajdują się one na liście restic_sudo_command_whitelist, na przykład:

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

Następnie w swoim poleceniu kopii zapasowej dodaj to polecenie jako sudo -u root /usr/bin/some_backup_related_command_that_needs_sudo.

Pomocnicy

Ta rola instaluje również skrypty pomocnicze w restic_install_path. Te skrypty są nazwane zgodnie z nazwą Twojego repozytorium i zapewnią prawidłowe zmienne środowiskowe dla tego repozytorium.

Na przykład, jeśli masz repozytorium restic o nazwie testrepo, możesz użyć polecenia restic-testrepo, które wykona restic z prawidłowymi zmiennymi środowiskowymi do manipulacji tym repozytorium.

Przykład

Playbook

Użyj go w pliku playbook w następujący sposób:

- hosts: all
  roles:
    - paulfantom.restic

Testowanie lokalne

Preferowany sposób lokalnego testowania roli to użycie Dockera i molecule (v2.x). Musisz zainstalować Dockera w swoim systemie. Zobacz jak zacząć, aby znaleźć odpowiedni pakiet Dockera dla swojego systemu. Wszystkie potrzebne pakiety można zainstalować w jednej linii:

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

Powinno to być podobne do tego, co znajduje się w sekcji install w pliku .travis.yml. Po zainstalowaniu zestawu testowego możesz uruchomić test, wpisując

molecule test --all

Aby uzyskać więcej informacji na temat molekuł, odwiedź ich dokumentację.

Travis CI

Łączenie molekuł i Travis CI pozwala na testowanie, jak nowe PR-y będą działać w przypadku użycia z wieloma wersjami ansible i różnymi systemami operacyjnymi. Umożliwia to również tworzenie scenariuszy testowych dla różnych konfiguracji roli. W rezultacie macierz testowa jest dość duża i zajmuje więcej czasu niż testowanie lokalne, więc prosimy o cierpliwość.

Wnoszenie wkładu

Zobacz wytyczne dla współpracowników.

Licencja

Ten projekt jest licencjonowany na mocy licencji MIT. Zobacz LICENCJA dla dalszych szczegółów.

O projekcie

Fast, secure, efficient backup program

Zainstaluj
ansible-galaxy install paulfantom.restic
Licencja
mit
Pobrania
55.6k
Właściciel
SRE / SWE specializing in observability. tea addict :tea: