Add playbook for installing and configuring GLPI Agent
This commit is contained in:
66
playbooks/install_glpi-agent.yml
Normal file
66
playbooks/install_glpi-agent.yml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
---
|
||||||
|
- name: Install and configure GLPI Agent (Perl installer)
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
|
||||||
|
vars:
|
||||||
|
glpi_agent_version: "1.15"
|
||||||
|
glpi_agent_installer_url: "https://github.com/glpi-project/glpi-agent/releases/download/{{ glpi_agent_version }}/glpi-agent-{{ glpi_agent_version }}-linux-installer.pl"
|
||||||
|
glpi_server_url: "https://glpi.ryans.tools/" # see notes below
|
||||||
|
glpi_agent_tag: "PurpleRaft"
|
||||||
|
glpi_httpd_trust: "10.0.0.0/8,192.168.0.0/16,100.64.0.0/10" # GLPI server or management subnets
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Ensure prerequisites (perl, curl, lsb-release)
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- perl
|
||||||
|
- curl
|
||||||
|
- lsb-release
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Download GLPI Agent Perl installer
|
||||||
|
get_url:
|
||||||
|
url: "{{ glpi_agent_installer_url }}"
|
||||||
|
dest: /usr/local/src/glpi-agent-installer.pl
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Run the GLPI Agent installer (idempotent-ish)
|
||||||
|
command: perl /usr/local/src/glpi-agent-installer.pl
|
||||||
|
args:
|
||||||
|
creates: /usr/bin/glpi-agent
|
||||||
|
|
||||||
|
- name: Ensure conf.d directory exists
|
||||||
|
file:
|
||||||
|
path: /etc/glpi-agent/conf.d
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Configure GLPI Agent (server/tag/trust)
|
||||||
|
copy:
|
||||||
|
dest: /etc/glpi-agent/conf.d/atlas.cfg
|
||||||
|
mode: "0644"
|
||||||
|
content: |
|
||||||
|
# Managed by Ansible
|
||||||
|
server = {{ glpi_server_url }}
|
||||||
|
tag = {{ glpi_agent_tag }}
|
||||||
|
httpd-trust = {{ glpi_httpd_trust }}
|
||||||
|
# Optional: uncomment to reduce load after first full inventory
|
||||||
|
# full-inventory-postpone = 14
|
||||||
|
notify: restart glpi-agent
|
||||||
|
|
||||||
|
- name: Enable and start agent service
|
||||||
|
service:
|
||||||
|
name: glpi-agent
|
||||||
|
enabled: true
|
||||||
|
state: started
|
||||||
|
|
||||||
|
- name: Do a first inventory now (one-shot)
|
||||||
|
command: glpi-agent --server {{ glpi_server_url }} --force
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- name: restart glpi-agent
|
||||||
|
service:
|
||||||
|
name: glpi-agent
|
||||||
|
state: restarted
|
||||||
Reference in New Issue
Block a user