ipr-cnrs.glpi_agent

glpi-agent

  1. Überblick
  2. Beispiele
  3. Standardvariablen
  4. Debian-spezifische Variablen
  5. Entwicklung
  6. Lizenz
  7. Autoreninformationen

Überblick

Diese Rolle versucht, glpi-agent auf Linux-Systemen (zu Beginn nur Debian-Familie) zu installieren und zu verwalten.

Sie ist stark inspiriert von der vorherigen Rolle für fusioninventory-agent.

Beispiele

Installiere glpi-agent aus deinem eigenen APT/Yum/…-Repository (klicke zum Erweitern)
- hosts: serverXYZ
  vars:
      glpi_agent__conf_raw: |
        # glpi-agent benötigt einen Server, um den Dienst zu starten
        server = http://server.domain.com/front/inventory.php

  roles:
    - role: ipr-cnrs.glpi_agent
  • Das glpi-agent-Paket ist in den offiziellen Repositories (Debian, Ubuntu, …) noch nicht verfügbar.
Installiere glpi-agent vorgefertigtes Paket von GLPI Agent Github-Projekt (klicke zum Erweitern)
- hosts: serverXYZ
  vars:
      glpi_agent__install_from_url: true
      glpi_agent__conf_raw: |
        # glpi-agent benötigt einen Server, um den Dienst zu starten
        server = http://server.domain.com/front/inventory.php

  roles:
    - role: ipr-cnrs.glpi_agent
  • glpi_agent__install_from_url installiert zuerst die Abhängigkeiten und verwendet das vorgefertigte glpi-agent-Paket aus dem GLPI Agent Github-Repository.
  • Alle Versionen und offiziellen vorgefertigten Pakete sind im GLPI Agent Github-Repository zu finden.

Standardvariablen

Pakete und Installation

glpi_agent__enabled

Boolean. Aktiviert oder deaktiviert die Installation und Konfiguration von glpi-agent.

glpi_agent__enabled: true

glpi_agent__install_from_url

Boolean. Ob das GLPI Agent-Paket aus dem vom GLPI-Projekt erstellten Paket installiert werden soll.

glpi_agent__install_from_url: false

glpi_agent__version

String. Version des zu installierenden GLPI Agent.

glpi_agent__version: '1.5-1'

glpi_agent__major_version

String. Extrahiere die Hauptversion, um die Variable glpi_agent__package_url zu bilden.

  • z.B., für die letzte Version (1.5-1) wird es 1.5.
glpi_agent__major_version: '{{ glpi_agent__version.split("-")[0] }}'

glpi_agent__package_name

Liste. Name des zu installierenden GLPI Agent-Pakets.

glpi_agent__package_name:
  - glpi-agent

Debian glpi_agent__package_url

Die URL zum Herunterladen des .deb-Pakets für GLPI Agent. z.B. für die Version 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

Boolean. Ob die Abhängigkeiten von GLPI Agent installiert werden sollen. Erforderlich für die Installation von URL, da einige möglicherweise in der Abhängigkeit Liste fehlen… Siehe die Liste der Abhängigkeiten in den OS-Var-Dateien (Debian) unten.

glpi_agent__depends: '{{ True if ansible_os_family in ["Debian"]
                                   else False }}'

glpi_agent__recommends

Boolean. Ob die empfohlenen Pakete von GLPI Agent installiert werden sollen. Siehe die Liste der Empfehlungen in den OS-Var-Dateien (Debian) unten.

glpi_agent__recommends: false

glpi_agent__suggests

Boolean. Ob die Vorschläge für die Pakete von GLPI Agent installiert werden sollen. Siehe die Liste der Vorschläge in den OS-Var-Dateien (Debian) unten.

glpi_agent__suggests: false

Fusioninventory-Agent

Die offizielle Dokumentation empfiehlt, den Fusioninventory-Agenten vor der Installation des GLPI-Agenten zu deinstallieren. Pakete und zugehörige Konfigurationsdateien werden von dieser Rolle nicht entfernt.

glpi_agent__fusioninventory_agent_state

Zustand des vorherigen Fusioninventory-Agenten.

glpi_agent__fusioninventory_agent_state: 'absent'

glpi_agent__fusioninventory_agent_packages

Liste der Fusioninventory-Agent-Pakete, die entfernt werden sollen.

glpi_agent__fusioninventory_agent_packages:
  - fusioninventory-agent

Konfiguration

Siehe offizielle Dokumentation für die gesamte Parametersyntax.

glpi_agent__conf_file_dest

String. Pfad zur GLPI-Agentenkonfigurationsdatei auf dem Host.

glpi_agent__conf_file_dest: '/etc/glpi-agent/conf.d/00-ansible.cfg'

glpi_agent__conf_file_src

String. Vorlage, die zur Bereitstellung der GLPI-Agentenkonfigurationsdatei verwendet wird.

glpi_agent__conf_file_src: '{{ "../templates" + glpi_agent__conf_file_dest + ".j2" }}'

glpi_agent__conf_raw

String. Vorlage, die zur Bereitstellung der GLPI-Agentenkonfigurationsdatei verwendet wird.

glpi_agent__conf_raw: ''

Beispiel für die Verwendung:

glpi_agent__conf_raw: |
  tag = my_new_tag

Dienst

glpi_agent__service_state

String. Der Zielstatus des Dienstes.

glpi_agent__service_state: '{{ "started" if (glpi_agent__enabled | bool)
                          else "stopped" }}'

glpi_agent__service_enabled

String. Der Zielstatus des Dienstes.

glpi_agent__service_enabled: '{{ glpi_agent__enabled | bool }}'

Cron-Konfiguration

Anstelle eines systemd-Dienstes kann glpi-agent von einem Cronjob ausgeführt werden.

Liste der Cron-bezogenen Variablen (klicke zum Erweitern).

glpi_agent__cron

String. Ob der Cronjob installiert werden soll. Kann "absent" oder "present" sein.

glpi_agent__cron: 'absent'

glpi_agent__cron_day

An welchen Tagen sollte der Agent ausgeführt werden.

glpi_agent__cron_day: '*'

glpi_agent__cron_hour

Zu welchen Stunden sollte der Agent ausgeführt werden.

glpi_agent__cron_hour: '23'

glpi_agent__cron_minute

Zu welchen Minuten sollte der Agent ausgeführt werden.

glpi_agent__cron_minute: '0'

glpi_agent__cron_month

In welchen Monaten sollte der Agent ausgeführt werden.

glpi_agent__cron_month: '*'

glpi_agent__cron_weekday

An welchen Wochentagen sollte der Agent ausgeführt werden.

glpi_agent__cron_weekday: '*'

glpi_agent__cron_user

Unter welchem Benutzer sollte der Agent ausgeführt werden.

glpi_agent__cron_user: 'root'

glpi_agent__cron_command

Der Befehl, den Cron ausführen soll.

glpi_agent__cron_command: 'sleep $(( RANDOM \\% 3600 )); /bin/glpi-agent'

Debian-spezifische Variablen

Diese Variablen können vom Benutzer nicht überschrieben werden.

Pakete und Installation für Debian

Debian glpi_agent__depends_packages

Liste. Abhängigkeiten für das GLPI Agent-Paket.

  • Basierend auf der Ausgabe von dpkg --info für das .deb-Paket der Version 1.5-1.
  • Um die Installation dieser Pakete zu überspringen, siehe die glpi_agent__depends oben.
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
  ## Fehlt aus `dpkg --info`, wird aber im GLPI-Agent-Workflow verwendet
  - libxml-treepp-perl
  - libxml-xpath-perl

Debian glpi_agent__recommends_packages

Liste. Empfehlungen für das GLPI Agent-Paket.

  • Basierend auf der Ausgabe von dpkg --info für das .deb-Paket der Version 1.5-1.
  • Um die Installation dieser Pakete zu überspringen, siehe die glpi_agent__recommends oben.
glpi_agent__recommends_packages:
  - libio-socket-ssl-perl
  - dmidecode
  - hdparm
  - fdisk
  - net-tools

Debian glpi_agent__suggests_packages

Liste. Vorschläge für das GLPI Agent-Paket.

  • Basierend auf der Ausgabe von dpkg --info für das .deb-Paket der Version 1.5-1.
  • Um die Installation dieser Pakete zu überspringen, siehe die glpi_agent__suggests oben.
glpi_agent__suggests_packages:
  - smartmontools
  - read-edid

Entwicklung

Alle PRs sind willkommen :)

Für defaults/main.yml und Vars-Dateien :

  • Versuche die Syntax anzuwenden, die im Header beschrieben ist. Kopiere/einfügen eines vorhandenen Blocks sollte funktionieren 👍.
  • Für eine neue Variable ermöglicht der Präfix glpi_agent__, dass sie einfach in Ansibels host_vars verwaltet werden kann,…

Zögere nicht, gute Praktiken (für Debian/CentOS) und Anfragen (und PRs 😀) zu teilen.

Lizenz

WTFPL

Autoreninformationen

Jérémy Gardais

Über das Projekt

Install and manage glpi-agent

Installieren
ansible-galaxy install ipr-cnrs.glpi_agent
GitHub Repository
Lizenz
Unknown
Downloads
220.2k
Besitzer
Institut de Physique de Rennes https://ipr.univ-rennes1.fr/ Tutelles CNRS et Université Rennes 1