# FusionInventory Agent
[![Travis Build Status](https://travis-ci.org/fusioninventory/fusioninventory-agent.svg?branch=develop)](https://travis-ci.org/fusioninventory/fusioninventory-agent)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/f2oh6p3qnr2bck1b?svg=true)](https://ci.appveyor.com/project/fusioninventory/fusioninventory-agent)
[![CircleCI Build status](https://circleci.com/gh/fusioninventory/fusioninventory-agent.svg?style=svg)](https://circleci.com/gh/fusioninventory/fusioninventory-agent)
## Summary
The FusionInventory agent is a generic management agent. It can perform a
certain number of tasks, according to its own execution plan, or on behalf of a
GLPI server with fusioninventory plugin, acting as a control point.
## Description
See [FusionInventory solution overview](http://fusioninventory.org/overview/)
## Dependencies
### Core
Minimum perl version: 5.8
Mandatory Perl modules:
* File::Which
* LWP::UserAgent
* Net::IP
* Text::Template
* UNIVERSAL::require
* XML::TreePP
Optional Perl modules:
* Compress::Zlib, for message compression
* HTTP::Daemon, for web interface
* IO::Socket::SSL, for HTTPS support
* LWP::Protocol::https, for HTTPS support
* Proc::Daemon, for daemon mode (Unix only)
* Proc::PID::File, for daemon mode (Unix only)
### Inventory task
Optional Perl modules:
* Net::CUPS, for printers detection
* Parse::EDID, for EDID data parsing
* DateTime, for reliable timezone name extraction
Optional programs:
* dmidecode, for DMI data retrieval
* lspci, for PCI bus scanning
* hdparm, for additional disk drive info retrieval
* monitor-get-edid-using-vbe, monitor-get-edid or get-edid, for EDID data access
* ssh-keyscan, for host SSH public key retrieval
### Network discovery tasks
Mandatory Perl modules:
* Thread::Queue
Optional Perl modules:
* Net::NBName, for NetBios method support
* Net::SNMP, for SNMP method support
Optional programs:
* arp, for arp table lookup method support
### Network inventory tasks
Mandatory Perl modules:
* Net::SNMP
* Thread::Queue
Optional Perl modules:
* Crypt::DES, for SNMPv3 support
### Wake on LAN task
Optional Perl modules:
* Net::Write::Layer2, for ethernet method support
### Deploy task
Mandatory Perl modules:
* Archive::Extract
* Digest::SHA
* File::Copy::Recursive
* JSON::PP
* URI::Escape
Mandatory Perl modules for P2P Support:
* Net::Ping
* Parallel::ForkManager
## Related contribs
See [CONTRIB](CONTRIB.md) to find references to FusionInventory Agent related scritps/files
## Contacts
Project websites:
* main site: <http://www.fusioninventory.org>
* Github org: <http://github.com/fusioninventory/>
Project mailing lists:
* <http://lists.alioth.debian.org/mailman/listinfo/fusioninventory-user>
* <http://lists.alioth.debian.org/mailman/listinfo/fusioninventory-devel>
Project IRC channel:
* #FusionInventory on FreeNode IRC Network
Please report any issues on Github.
## Active authors
* Guillaume Rousse <guillomovitch@gmail.com>
* Guillaume Bougard <gbougard@teclib.com>
Copyright 2006-2010 [OCS Inventory contributors](https://www.ocsinventory-ng.org/)
Copyright 2010-2019 [FusionInventory Team](http://fusioninventory.org)
Copyright 2011-2019 [Teclib Editions](http://www.teclib-edition.com/)
## License
This software is licensed under the terms of GPLv2+, see LICENSE file for
details.
## Additional pieces of software
The fusioninventory-injector script:
* author: Pascal Danek
* copyright: 2005 Pascal Danek
FusionInventory::Agent::Task::Inventory::Input::Virtualization::Vmsystem
contains code from imvirt:
* url: <http://micky.ibh.net/~liske/imvirt.html>
* author: Thomas Liske <liske@ibh.de>
* copyright: 2008 IBH IT-Service GmbH <http://www.ibh.de/>
* License: GPLv2+