timorunge.freeipa_server_backup

backup_servidor_freeipa

Este rol se encarga de las copias de seguridad para tus servidores FreeIPA.

Requisitos

Este rol requiere Ansible 2.6.0 o superior.

Puedes instalar (y definir) una versión estable fácilmente con pip:

pip install ansible==2.7.9

Todos los requisitos de la plataforma están listados en el archivo de metadatos.

Para usar este rol, echa un vistazo a las dependencias.

También revisa la documentación oficial.

Instalación

ansible-galaxy install timorunge.backup_servidor_freeipa

Variables del Rol

Las variables que se pueden pasar a este rol y una breve descripción de ellas son las siguientes. (Para todas las variables, consulta defaults/main.yml)

En este momento, - desafortunadamente - no es posible establecer el directorio de respaldo. Esta es una limitación del comando ipa-backup (la ubicación predeterminada es /var/lib/ipa/backup).

# Define la edad máxima de las copias de seguridad (en días)
# Tipo: Int
backup_servidor_freeipa_max_edad: 14

# Define el momento en que debería ejecutarse una copia de seguridad completa
# (¡esto detendrá e iniciará los servicios de ipa!)
# Tipo: Dict
backup_servidor_freeipa_cron_completa:
  minuto: "{{ 59 | random(seed=inventory_hostname) }}"
  mes: "*"
  día de la semana: "*"
  hora: 4
  día: "*"
  estado: presente

# Define el momento en que debería ejecutarse una copia de seguridad en línea
# Tipo: Dict
backup_servidor_freeipa_cron_en_linea:
  minuto: "{{ 59 | random(seed=inventory_hostname) }}"
  mes: "*"
  día de la semana: "*"
  hora: "*"
  día: "*"
  estado: presente

Ejemplos

1) Instalar la copia de seguridad del servidor FreeIPA con la configuración predeterminada

- hosts: backup-servidor-freeipa
  roles:
    - timorunge.backup_servidor_freeipa

2) Instalar la copia de seguridad del servidor FreeIPA con algunas configuraciones personalizadas

- hosts: backup-servidor-freeipa
  vars:
    backup_servidor_freeipa_max_edad: 7
    backup_servidor_freeipa_cron_completa:
      día: "*"
      hora: 3
      minuto: "11"
      mes: "*"
      estado: presente
      día de la semana: "*"
    backup_servidor_freeipa_cron_en_linea:
      día: "*"
      hora: "*"
      minuto: 33
      mes: "*"
      estado: presente
      día de la semana: "*"
    backup_servidor_freeipa_cron_eliminar:
      día: "*"
      hora: 3
      minuto: 55
      mes: "*"
      estado: presente
      día de la semana: "*"
  roles:
    - timorunge.backup_servidor_freeipa

3) Instalar la copia de seguridad del servidor FreeIPA y mover los datos a otra ubicación (a través de rsync)

- hosts: backup-servidor-freeipa
  vars:
    backup_servidor_freeipa_mv_ubicacion: rsync
    backup_servidor_freeipa_rsync_opts:
      - "-avq"
      - "--ignore-existing"
      - '-e "ssh -i /home/ipa-backups/.ssh/id_rsa"'
    backup_servidor_freeipa_rsync_dest: [email protected]:/var/backups/ipa-backup
  roles:
    - timorunge.backup_servidor_freeipa

Pruebas

Estado de Construcción

Las pruebas se realizan con Docker y docker_test_runner que levanta los siguientes contenedores:

  • 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á instalado en todos los contenedores y se aplica un playbook de prueba localmente.

Para más detalles y comprobaciones adicionales, revisa la configuración de docker_test_runner y el punto de entrada de Docker.

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

Dependencias

Este rol requiere un Servidor FreeIPA (Repositorio de Github) que esté funcionando.

Si estás utilizando un sistema operativo que no proporciona paquetes FreeIPA directamente desde los repositorios, puedes usar el rol de Ansible mencionado arriba.

En este caso, asegúrate de que backup_servidor_freeipa_instalar_pkgs esté configurado en false (lo que desactivará la instalación completa de paquetes de este rol).

Tareas Pendientes

  • Agregar la posibilidad de cifrar las copias de seguridad (--gpg y --gpg-keyring=GPG_KEYRING)
  • Mover los archivos a un lugar fuera del sitio (s3, rsync & ssh)

Licencia

Licencia BSD 3-Clause "Nueva" o "Revisada"

Información del Autor

  • Timo Runge
Instalar
ansible-galaxy install timorunge.freeipa_server_backup
Licencia
Unknown
Descargas
9.1k
Propietario