ipr-cnrs.glpi_agent
glpi-agent
- Überblick
- Beispiele
- Standardvariablen
- Debian-spezifische Variablen
- Entwicklung
- Lizenz
- 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
Autoreninformationen
Jérémy Gardais
- IPR (Institut de Physik von Rennes)
- CNRS und Universität Rennes
ansible-galaxy install ipr-cnrs.glpi_agent