ipr-cnrs.glpi_agent
glpi-agent
- Przegląd
- Przykłady
- Domyślne zmienne
- Zdedykowane zmienne dla Debiana
- Rozwój
- Licencja
- Informacje o autorze
Przegląd
Ta rola spróbuje zainstalować i zarządzać glpi-agent na systemach Linux (na początku tylko z rodziny Debiana).
Jest bardzo inspirowana poprzednią rolą poświęconą fusioninventory-agent.
Przykłady
Zainstaluj glpi-agent z własnego repozytorium APT/Yum/… (kliknij, aby rozwinąć)
- hosts: serverXYZ
vars:
glpi_agent__conf_raw: |
# glpi-agent wymaga serwera do uruchomienia usługi
server = http://server.domain.com/front/inventory.php
roles:
- role: ipr-cnrs.glpi_agent
- Pakiet glpi-agent nie jest (jeszcze) dostępny w oficjalnych repozytoriach (Debian, Ubuntu,…).
Zainstaluj glpi-agent z prekompilowanego pakietu z projektu GLPI Agent na GitHubie (kliknij, aby rozwinąć)
- hosts: serverXYZ
vars:
glpi_agent__install_from_url: true
glpi_agent__conf_raw: |
# glpi-agent wymaga serwera do uruchomienia usługi
server = http://server.domain.com/front/inventory.php
roles:
- role: ipr-cnrs.glpi_agent
glpi_agent__install_from_url
najpierw zainstaluje zależności i użyje prekompilowanego pakietu glpi-agent z repozytorium na GitHubie.- Wszystkie wersje oraz oficjalne prekompilowane pakiety można znaleźć na repozytorium GLPI Agent na GitHubie.
Domyślne zmienne
Pakiety i instalacja
glpi_agent__enabled
Boolean. Włącz lub wyłącz instalację i konfigurację glpi-agent.
glpi_agent__enabled: true
glpi_agent__install_from_url
Boolean. Czy pakiet GLPI Agent powinien być zainstalowany z pakietu zbudowanego przez projekt GLIP.
glpi_agent__install_from_url: false
glpi_agent__version
String. Wersja GLPI Agent do zainstalowania.
glpi_agent__version: '1.5-1'
glpi_agent__major_version
String. Wyodrębnij główną wersję, aby zbudować zmienną glpi_agent__package_url.
- np. dla ostatniej wersji (1.5-1), stanie się 1.5.
glpi_agent__major_version: '{{ glpi_agent__version.split("-")[0] }}'
glpi_agent__package_name
List. Nazwa pakietu GLPI Agent do zainstalowania.
glpi_agent__package_name:
- glpi-agent
Debian glpi_agent__package_url
URL używany do pobrania pakietu .deb dla GLPI Agent. np. dla wersji 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. Czy zależności GLPI Agent powinny być zainstalowane. Wymagane do instalacji z URL, ponieważ niektóre mogą być brakujące na liście zależności… Zobacz listę zależności w plikach zmiennych OS (Debian) poniżej.
glpi_agent__depends: '{{ True if ansible_os_family in ["Debian"]
else False }}'
glpi_agent__recommends
Boolean. Czy zalecane pakiety GLPI Agent powinny być zainstalowane. Zobacz listę rekomendacji w plikach zmiennych OS (Debian) poniżej.
glpi_agent__recommends: false
glpi_agent__suggests
Boolean. Czy pakiety z sugestiami GLPI Agent powinny być zainstalowane. Zobacz listę sugestii w plikach zmiennych OS (Debian) poniżej.
glpi_agent__suggests: false
Agent FusionInventory
Oficjalna dokumentacja zaleca odinstalowanie agenta FusionInventory przed zainstalowaniem GLPI Agent. Pakiety i powiązane pliki konfiguracyjne nie będą usuwane przez tę rolę.
glpi_agent__fusioninventory_agent_state
Stan poprzedniego agenta FusionInventory.
glpi_agent__fusioninventory_agent_state: 'absent'
glpi_agent__fusioninventory_agent_packages
Lista pakietów agenta FusionInventory do usunięcia.
glpi_agent__fusioninventory_agent_packages:
- fusioninventory-agent
Konfiguracja
Zobacz oficjalną dokumentację dla całej składni parametrów.
glpi_agent__conf_file_dest
String. Ścieżka do pliku konfiguracyjnego GLPI Agent na hoście.
glpi_agent__conf_file_dest: '/etc/glpi-agent/conf.d/00-ansible.cfg'
glpi_agent__conf_file_src
String. Szablon używany do dostarczenia pliku konfiguracyjnego GLPI Agent.
glpi_agent__conf_file_src: '{{ "../templates" + glpi_agent__conf_file_dest + ".j2" }}'
glpi_agent__conf_raw
String. Szablon używany do dostarczenia pliku konfiguracyjnego GLPI Agent.
glpi_agent__conf_raw: ''
Przykład użycia:
glpi_agent__conf_raw: |
tag = my_new_tag
Usługa
glpi_agent__service_state
String. Stan docelowy usługi
glpi_agent__service_state: '{{ "started" if (glpi_agent__enabled | bool)
else "stopped" }}'
glpi_agent__service_enabled
String. Stan docelowy usługi
glpi_agent__service_enabled: '{{ glpi_agent__enabled | bool }}'
Konfiguracja Cron
Zamiast uruchamiać usługę systemd, glpi-agent
może być uruchamiany przez zadanie cron.
Lista zmiennych związanych z cronem (kliknij, aby rozwinąć).
glpi_agent__cron
String. Czy zadanie cron powinno być zainstalowane. Może być "absent" lub "present".
glpi_agent__cron: 'absent'
glpi_agent__cron_day
W które dni agent powinien być uruchamiany.
glpi_agent__cron_day: '*'
glpi_agent__cron_hour
O której godzinie agent powinien być uruchamiany.
glpi_agent__cron_hour: '23'
glpi_agent__cron_minute
W które minuty agent powinien być uruchamiany.
glpi_agent__cron_minute: '0'
glpi_agent__cron_month
W które miesiące agent powinien być uruchamiany.
glpi_agent__cron_month: '*'
glpi_agent__cron_weekday
W które dni tygodnia agent powinien być uruchamiany.
glpi_agent__cron_weekday: '*'
glpi_agent__cron_user
Pod jakim użytkownikiem powinien być uruchamiany agent.
glpi_agent__cron_user: 'root'
glpi_agent__cron_command
Jakie polecenie powinno być uruchamiane przez cron.
glpi_agent__cron_command: 'sleep $(( RANDOM \\% 3600 )); /bin/glpi-agent'
Zdedykowane zmienne dla Debiana
Te zmienne nie mogą być modyfikowane przez użytkownika.
Pakiety i instalacja dla Debiana
Debian glpi_agent__depends_packages
List. Zależności dla pakietu GLPI Agent.
- Na podstawie wyniku
dpkg --info
dla wersji pakietu .deb 1.5-1. - Aby pominąć instalację tych pakietów, zobacz glpi_agent__depends powyżej.
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
## Brakujące w `dpkg --info`, ale używane w workflow glpi-agent
- libxml-treepp-perl
- libxml-xpath-perl
Debian glpi_agent__recommends_packages
List. Rekomendacje dla pakietu GLPI Agent.
- Na podstawie wyniku
dpkg --info
dla wersji pakietu .deb 1.5-1. - Aby pominąć instalację tych pakietów, zobacz glpi_agent__recommends powyżej.
glpi_agent__recommends_packages:
- libio-socket-ssl-perl
- dmidecode
- hdparm
- fdisk
- net-tools
Debian glpi_agent__suggests_packages
List. Sugestie dla pakietu GLPI Agent.
- Na podstawie wyniku
dpkg --info
dla wersji pakietu .deb 1.5-1. - Aby pominąć instalację tych pakietów, zobacz glpi_agent__suggests powyżej.
glpi_agent__suggests_packages:
- smartmontools
- read-edid
Rozwój
Wszystkie PR-y są mile widziane :)
Dla defaults/main.yml
i plików zmiennych :
- Staraj się stosować składnię opisaną w nagłówku. Skopiowanie/wklejenie istniejącego bloku powinno wystarczyć 👍.
- Dla nowej zmiennej, dodanie przedrostka glpi_agent__ pozwala na łatwe zarządzanie w host_vars Ansible,…
Czuj się swobodnie, aby dzielić się dobrą praktyką (dla Debiana/CentOS) oraz zgłaszać prośby (i PR-y 😀).
Licencja
Informacje o autorze
Jérémy Gardais
- IPR (Institut de Physique de Rennes)
- CNRS i Universytet Rennes
ansible-galaxy install ipr-cnrs.glpi_agent