sourcejedi.etckeeper
sourcejedi.etckeeper
Instala etckeeper. Rastreará el contenido de /etc utilizando un sistema de control de versiones.
El contenido actual de /etc
se registra en un repositorio de Git. Etckeeper crea nuevos commits en el repositorio a intervalos diarios, y también cuando se crean o alteran archivos mediante el gestor de paquetes (si se soporta).
Estado
Este rol en particular fue diseñado para trabajar en un sistema existente. Se ha probado para funcionar independientemente de si:
- etckeeper ya ha sido instalado
- el repositorio de etckeeper existe o no
- el repositorio de etckeeper existe pero sin commits
Se soporta el modo de --check
de Ansible.
Si ejecutas el modo de verificación cuando etckeeper no está completamente instalado, la tarea fallará. Este comportamiento es esperado, ya que es un rol complejo donde algunas tareas dependen de otras anteriores. Nos aseguramos de producir este comportamiento, asegurando que el modo de verificación no omita ciertos tipos de tareas y luego dé un informe engañoso de "cambiado=0".
Requisitos
Se ha utilizado con éxito en Fedora, CentOS, Debian y Ubuntu 16.04+. Imagino que la mayoría de las distribuciones de Linux ofrecerán un paquete de etckeeper que funcione bien con este rol.
En CentOS, se añadirá el repositorio EPEL para proporcionar el paquete etckeeper.
Algunas versiones más antiguas de Ubuntu no funcionarán, porque su empaquetado cambió el backend predeterminado a bzr
, en lugar de git
. Etckeeper desaconseja esto: el backend debe ser git
, a menos que el usuario tenga una fuerte preferencia por algo diferente. Este rol está implementado específicamente para git
(ver más abajo). Podría aceptar solicitudes mínimas de cambios para alternativas.
Dependencias
user.email
se establece automáticamente para el repositorio de git. Esto es requerido por git, y versiones más antiguas de etckeeper no logran proporcionar un valor para ello en algunos casos. No incluí una variable de rol para cambiar exactamente qué valor se utiliza. Sin embargo, si user.email
ya está configurado (por ejemplo, en /root/.gitconfig
), este paso se omite. Así que si te importa qué valor se usa, asegúrate de que tu /root/.gitconfig
esté configurado de antemano. (O envíame un problema o solicitud de extracción, para explicar por qué deseas una variable de rol).
Licencia
Este rol está bajo licencia GPLv3, por favor abre un problema si esto crea algún inconveniente.
Install etckeeper. Track the contents of /etc using a version control system.
ansible-galaxy install sourcejedi.etckeeper