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