timorunge.freeipa_server_backup

kopia_zaplec_freeipa_server

Ta rola zajmuje się kopiami zapasowymi Twoich serwerów FreeIPA.

Wymagania

Ta rola wymaga Ansible 2.6.0 lub wyższej.

Możesz łatwo zainstalować (i zdefiniować) stabilną wersję za pomocą pip:

pip install ansible==2.7.9

Wszystkie wymagania platformowe są wymienione w pliku metadanych.

Aby użyć tej roli, zapoznaj się z zależnościami.

Sprawdź również oficjalną dokumentację.

Instalacja

ansible-galaxy install timorunge.freeipa_server_backup

Zmienne Roli

Zmienne, które można przekazać do tej roli oraz ich krótki opis to:

Na ten moment niestety nie jest możliwe ustawienie katalogu na kopie zapasowe. To jest ograniczenie samego polecenia ipa-backup (domyślna lokalizacja to /var/lib/ipa/backup).

# Definiuje maksymalny wiek kopii zapasowych (w dniach)
# Typ: Int
freeipa_server_backup_max_age: 14

# Określa czas, kiedy ma się odbyć pełna kopia zapasowa
# (to zatrzyma i uruchomi usługi ipa!)
# Typ: Dict
freeipa_server_backup_cron_full:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: 4
  day: "*"
  state: present

# Określa czas, kiedy ma się odbyć online kopia zapasowa
# Typ: Dict
freeipa_server_backup_cron_online:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: "*"
  day: "*"
  state: present

Przykłady

1) Zainstaluj kopię zapasową serwera FreeIPA z domyślnymi ustawieniami

- hosts: freeipa-server-backup
  roles:
    - timorunge.freeipa_server_backup

2) Zainstaluj kopię zapasową serwera FreeIPA z niestandardowymi ustawieniami

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_max_age: 7
    freeipa_server_backup_cron_full:
      day: "*"
      hour: 3
      minute: "11"
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_online:
      day: "*"
      hour: "*"
      minute: 33
      month: "*"
      state: present
      weekday: "*"
    freeipa_server_backup_cron_delete:
      day: "*"
      hour: 3
      minute: 55
      month: "*"
      state: present
      weekday: "*"
  roles:
    - timorunge.freeipa_server_backup

3) Zainstaluj kopię zapasową serwera FreeIPA i przenieś dane do innej lokalizacji (przez rsync)

- hosts: freeipa-server-backup
  vars:
    freeipa_server_backup_mv_location: rsync
    freeipa_server_backup_rsync_opts:
      - "-avq"
      - "--ignore-existing"
      - '-e "ssh -i /home/ipa-backups/.ssh/id_rsa"'
    freeipa_server_backup_rsync_dest: ipa-backups@172.20.1.20:/var/backups/ipa-backup
  roles:
    - timorunge.freeipa_server_backup

Testowanie

Status Budowy

Testy są przeprowadzane za pomocą Docker i docker_test_runner, które uruchamiają poniższe kontenery:

  • CentOS 7
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 17.10 (Artful Aardvark)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 18.10 (Cosmic Cuttlefish)

Ansible 2.7.9 jest zainstalowane we wszystkich kontenerach i stosuje testowy playbook lokalnie.

Aby uzyskać więcej szczegółów i dodatkowe kontrole, zapoznaj się z konfiguracją docker_test_runner oraz Docker entrypoint.

# Testowanie lokalne:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

Zależności

Ta rola wymaga działającego Serwera FreeIPA (Repozytorium Github).

Jeśli używasz systemu operacyjnego, który nie zapewnia pakietów FreeIPA bezpośrednio z repozytoriów, możesz skorzystać z wymienionej powyżej roli Ansible.

W takim przypadku upewnij się, że masz ustawioną freeipa_server_backup_install_pkgs na false (co wyłączy całkowitą instalację pakietów tej roli).

Todo

  • Dodaj możliwość szyfrowania kopii zapasowych (--gpg i --gpg-keyring=GPG_KEYRING)
  • Przenoszenie plików do zewnętrznej lokalizacji (s3, rsync i ssh)

Licencja

Licencja BSD 3-Klauzowa "Nowa" lub "Zrewidowana"

Informacje o autorze

  • Timo Runge
Zainstaluj
ansible-galaxy install timorunge.freeipa_server_backup
Licencja
Unknown
Pobrania
9.1k
Właściciel