ipr-cnrs.glpi_agent

glpi-agent

  1. Descripción general
  2. Ejemplos
  3. Variables por defecto
  4. Variables dedicadas a Debian
  5. Desarrollo
  6. Licencia
  7. 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

WTFPL

Información del autor

Jérémy Gardais

Acerca del proyecto

Install and manage glpi-agent

Instalar
ansible-galaxy install ipr-cnrs.glpi_agent
Licencia
Unknown
Descargas
220.2k
Propietario
Institut de Physique de Rennes https://ipr.univ-rennes1.fr/ Tutelles CNRS et Université Rennes 1