ipr-cnrs.glpi_agent
glpi-agent
- Descripción general
- Ejemplos
- Variables por defecto
- Variables dedicadas a Debian
- Desarrollo
- Licencia
- Información del autor
Descripción general
Este rol intentará instalar y gestionar glpi-agent en sistemas Linux (solo de la familia Debian al principio).
Está inspirado en el rol anterior dedicado al agente fusioninventory.
Ejemplos
Instalar glpi-agent desde su propio repositorio APT/Yum/... (haz clic para expandir)
- hosts: serverXYZ
vars:
glpi_agent__conf_raw: |
# glpi-agent requiere un servidor para iniciar el servicio
server = http://server.domain.com/front/inventory.php
roles:
- role: ipr-cnrs.glpi_agent
- El paquete glpi-agent no está (todavía) disponible en los repositorios oficiales (Debian, Ubuntu,…).
Instalar el paquete preconstruido de glpi-agent desde el proyecto GLPI Agent en Github (haz clic para expandir)
- hosts: serverXYZ
vars:
glpi_agent__install_from_url: true
glpi_agent__conf_raw: |
# glpi-agent requiere un servidor para iniciar el servicio
server = http://server.domain.com/front/inventory.php
roles:
- role: ipr-cnrs.glpi_agent
glpi_agent__install_from_url
primero instalará las dependencias y usará el paquete preconstruido de glpi-agent del repositorio de Github de GLPI Agent.- Todas las versiones y paquetes preconstruidos oficiales se pueden encontrar en el repositorio de Github de GLPI Agent.
Variables por defecto
Paquetes e instalación
glpi_agent__enabled
Booleano. Habilitar o deshabilitar la instalación y configuración de glpi-agent.
glpi_agent__enabled: true
glpi_agent__install_from_url
Booleano. Si el paquete GLPI Agent debe instalarse desde un paquete construido por el proyecto GLPI.
glpi_agent__install_from_url: false
glpi_agent__version
Cadena. Versión de GLPI Agent a instalar.
glpi_agent__version: '1.5-1'
glpi_agent__major_version
Cadena. Extraer la versión principal para construir la variable glpi_agent__package_url.
- por ejemplo, para la última versión (1.5-1), se convertirá en 1.5.
glpi_agent__major_version: '{{ glpi_agent__version.split("-")[0] }}'
glpi_agent__package_name
Lista. Nombre del paquete de GLPI Agent a instalar.
glpi_agent__package_name:
- glpi-agent
Debian glpi_agent__package_url
La URL utilizada para descargar el paquete .deb para GLPI Agent. por ejemplo, para la versión 1.5: https://github.com/glpi-project/glpi-agent/releases/download/1.5/glpi-agent_1.5-1_all.deb
glpi_agent__package_url: '{{ "https://github.com/glpi-project/glpi-agent/releases/download/"
+ glpi_agent__major_version
+ "/glpi-agent_"
+ glpi_agent__version
+ "_all.deb" if (ansible_os_family in ["Debian"])
else "" }}'
glpi_agent__depends
Booleano. Si se deben instalar las dependencias de GLPI Agent. Requerido para la instalación desde la URL y porque algunas pueden estar faltando de la lista de dependencias… Consulta la lista de dependencias en los archivos de variables del sistema operativo (Debian) a continuación.
glpi_agent__depends: '{{ True if ansible_os_family in ["Debian"]
else False }}'
glpi_agent__recommends
Booleano. Si se deben instalar las recomendaciones de paquetes de GLPI Agent. Consulta la lista de recomendaciones en los archivos de variables del sistema operativo (Debian) a continuación.
glpi_agent__recommends: false
glpi_agent__suggests
Booleano. Si se deben instalar las sugerencias de paquetes de GLPI Agent. Consulta la lista de sugerencias en los archivos de variables del sistema operativo (Debian) a continuación.
glpi_agent__suggests: false
Agente Fusioninventory
La documentación oficial recomienda desinstalar el agente fusioninventory antes de instalar GLPI Agent. Los paquetes y archivos de configuración relacionados no serán eliminados por este rol.
glpi_agent__fusioninventory_agent_state
Estado del agente Fusioninventory anterior.
glpi_agent__fusioninventory_agent_state: 'ausente'
glpi_agent__fusioninventory_agent_packages
Lista de paquetes del agente Fusioninventory a eliminar.
glpi_agent__fusioninventory_agent_packages:
- fusioninventory-agent
Configuración
Consulta la documentación oficial para toda la sintaxis de los parámetros.
glpi_agent__conf_file_dest
Cadena. Ruta al archivo de configuración de GLPI Agent en el host.
glpi_agent__conf_file_dest: '/etc/glpi-agent/conf.d/00-ansible.cfg'
glpi_agent__conf_file_src
Cadena. Plantilla utilizada para proporcionar el archivo de configuración de GLPI Agent.
glpi_agent__conf_file_src: '{{ "../templates" + glpi_agent__conf_file_dest + ".j2" }}'
glpi_agent__conf_raw
Cadena. Plantilla utilizada para proporcionar el archivo de configuración de GLPI Agent.
glpi_agent__conf_raw: ''
Ejemplo de uso:
glpi_agent__conf_raw: |
tag = mi_nueva_etiqueta
Servicio
glpi_agent__service_state
Cadena. El estado del servicio objetivo
glpi_agent__service_state: '{{ "started" if (glpi_agent__enabled | bool)
else "stopped" }}'
glpi_agent__service_enabled
Cadena. El estado del servicio objetivo
glpi_agent__service_enabled: '{{ glpi_agent__enabled | bool }}'
Configuración de Cron
En lugar de ejecutar un servicio systemd, glpi-agent
puede ser ejecutado por un trabajo cron.
Lista de variables relacionadas con cron (haz clic para expandir).
glpi_agent__cron
Cadena. Si se debe instalar el trabajo cron. Puede ser "ausente" o "presente".
glpi_agent__cron: 'ausente'
glpi_agent__cron_day
Qué días debe ejecutarse el agente.
glpi_agent__cron_day: '*'
glpi_agent__cron_hour
Qué horas debe ejecutarse el agente.
glpi_agent__cron_hour: '23'
glpi_agent__cron_minute
Qué minutos debe ejecutarse el agente.
glpi_agent__cron_minute: '0'
glpi_agent__cron_month
Qué meses debe ejecutarse el agente.
glpi_agent__cron_month: '*'
glpi_agent__cron_weekday
Qué días de la semana debe ejecutarse el agente.
glpi_agent__cron_weekday: '*'
glpi_agent__cron_user
Qué usuario debe ejecutar el agente.
glpi_agent__cron_user: 'root'
glpi_agent__cron_command
El comando que debe ejecutar cron.
glpi_agent__cron_command: 'sleep $(( RANDOM \\% 3600 )); /bin/glpi-agent'
Variables dedicadas a Debian
Estas variables no pueden ser sobrescritas por el usuario.
Paquetes e instalación para Debian
Debian glpi_agent__depends_packages
Lista. Dependencias para el paquete GLPI Agent.
- Basado en la salida de
dpkg --info
para la versión del paquete .deb 1.5-1. - Para omitir la instalación de estos paquetes, consulta glpi_agent__depends arriba.
glpi_agent__depends_packages:
- perl
- ucf
- lsb-base
- libnet-cups-perl
- libnet-ip-perl
- libnet-ssh2-perl
- libwww-perl
- libparse-edid-perl
- libproc-daemon-perl
- libparallel-forkmanager-perl
- libuniversal-require-perl
- libfile-which-perl
- libxml-libxml-perl
- libyaml-perl
- libtext-template-perl
- libcpanel-json-xs-perl
- libjson-pp-perl
- pciutils
- usbutils
- libhttp-daemon-perl
- libyaml-tiny-perl
- libossp-uuid-perl
- libdatetime-perl
- libsocket-getaddrinfo-perl
## Faltantes en `dpkg --info` pero usados en el flujo de trabajo de glpi-agent
- libxml-treepp-perl
- libxml-xpath-perl
Debian glpi_agent__recommends_packages
Lista. Recomendaciones para el paquete GLPI Agent.
- Basado en la salida de
dpkg --info
para la versión del paquete .deb 1.5-1. - Para omitir la instalación de estos paquetes, consulta glpi_agent__recommends arriba.
glpi_agent__recommends_packages:
- libio-socket-ssl-perl
- dmidecode
- hdparm
- fdisk
- net-tools
Debian glpi_agent__suggests_packages
Lista. Sugerencias para el paquete GLPI Agent.
- Basado en la salida de
dpkg --info
para la versión del paquete .deb 1.5-1. - Para omitir la instalación de estos paquetes, consulta glpi_agent__suggests arriba.
glpi_agent__suggests_packages:
- smartmontools
- read-edid
Desarrollo
Todas las contribuciones son bienvenidas :)
Para defaults/main.yml
y archivos de variables:
- Trata de aplicar la sintaxis descrita en el encabezado. Copiar/pegar un bloque existente debería funcionar 👍.
- Para nueva variable, prefijarla con glpi_agent__ permite gestionarla fácilmente en las host_vars de Ansible,…
No dudes en compartir buenas prácticas (para Debian/CentOS) y solicitudes (y pull requests 😀).
Licencia
Información del autor
Jérémy Gardais
- IPR (Instituto de Física de Rennes)
- CNRS y Universidad de Rennes
ansible-galaxy install ipr-cnrs.glpi_agent