timorunge.freeipa_server_backup

sauvegarde_du_serveur_freeipa

Ce rôle s’occupe des sauvegardes de vos serveurs FreeIPA.

Exigences

Ce rôle nécessite Ansible 2.6.0 ou une version supérieure.

Vous pouvez simplement utiliser pip pour installer (et définir) une version stable :

pip install ansible==2.7.9

Tous les besoins de la plateforme sont listés dans le fichier de métadonnées.

Pour utiliser ce rôle, jetez un œil aux dépendances.

Consultez également la documentation officielle.

Installation

ansible-galaxy install timorunge.freeipa_server_backup

Variables du rôle

Les variables qui peuvent être passées à ce rôle et une brève description à leur sujet sont les suivantes. (Pour toutes les variables, consultez defaults/main.yml)

À ce moment, il n'est malheureusement pas possible de définir le répertoire de sauvegarde. C'est une limitation de la commande ipa-backup elle-même (l'emplacement par défaut est /var/lib/ipa/backup).

# Définit l'âge maximum des sauvegardes (en jours)
# Type : Int
freeipa_server_backup_max_age: 14

# Définit l'heure à laquelle une sauvegarde complète doit être exécutée
# (cela arrêtera et redémarrera les services ipa !)
# Type : Dict
freeipa_server_backup_cron_full:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: 4
  day: "*"
  state: present

# Définit l'heure à laquelle une sauvegarde en ligne doit être exécutée
# Type : Dict
freeipa_server_backup_cron_online:
  minute: "{{ 59 | random(seed=inventory_hostname) }}"
  month: "*"
  weekday: "*"
  hour: "*"
  day: "*"
  state: present

Exemples

1) Installer la sauvegarde du serveur FreeIPA avec les paramètres par défaut

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

2) Installer la sauvegarde du serveur FreeIPA avec quelques paramètres personnalisés

- 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) Installer la sauvegarde du serveur FreeIPA et déplacer les données à un autre emplacement (via 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: [email protected]:/var/backups/ipa-backup
  roles:
    - timorunge.freeipa_server_backup

Tests

État de la construction

Les tests sont réalisés avec Docker et docker_test_runner qui lance les conteneurs suivants :

  • 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 est installé sur tous les conteneurs et un playbook de test est appliqué localement.

Pour plus de détails et d'autres vérifications, consultez la configuration de docker_test_runner et le point d'entrée Docker.

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

Dépendances

Ce rôle nécessite un server FreeIPA (Repo Github) en cours d'exécution.

Si vous utilisez un système d'exploitation qui ne fournit pas de paquets FreeIPA directement à partir des dépôts, vous pouvez utiliser le rôle Ansible mentionné ci-dessus.

Dans ce cas, assurez-vous que freeipa_server_backup_install_pkgs est défini sur false (ce qui désactivera l'installation complète des paquets de ce rôle).

À faire

  • Ajouter la possibilité de chiffrer les sauvegardes (--gpg et --gpg-keyring=GPG_KEYRING)
  • Déplacer les fichiers vers un emplacement hors site (s3, rsync et ssh)

Licence

Licence BSD 3-Clause "Nouvelle" ou "Révisée"

Informations sur l'auteur

  • Timo Runge
Installer
ansible-galaxy install timorunge.freeipa_server_backup
Licence
Unknown
Téléchargements
9.1k
Propriétaire