101 lines
5.0 KiB
Markdown
101 lines
5.0 KiB
Markdown
# FusionInventory
|
||
|
||
1. [Overview](#overview)
|
||
2. [Role Variables](#role-variables)
|
||
* [Config Specific Variables](#config-specific-variables)
|
||
3. [Example Playbook](#example-playbook)
|
||
4. [Configuration](#configuration)
|
||
5. [Development](#development)
|
||
6. [License](#license)
|
||
7. [Author Information](#author-information)
|
||
|
||
## Overview
|
||
|
||
A role to manage FusionInventory agent installation and configuration.
|
||
|
||
## Role Variables
|
||
|
||
* **fusioninventory__agent_version** : The version of Fusioninventory agent to install [default : `2.4-2`].
|
||
* **fusioninventory__agent_depend_packages** : List of dependent packages to install.
|
||
* **fusioninventory__agent_recommend_packages** : List of recommended packages to install.
|
||
* **fusioninventory__agent_extra_packages** : List of extra packages to install (eg. to allow installation from a .deb file from Ansible).
|
||
* **fusioninventory__agent_package_url** : The URL used to download deb package for fusioninventory-agent [default : `http://debian.fusioninventory.org/downloads/fusioninventory-agent_{{ fusioninventory__agent_version }}_all.deb` for Debian Stretch only].
|
||
* **fusioninventory__agent_deploy_state** : What is the desired state which this role should achieve [default : `present`].
|
||
* **fusioninventory__agent_service_name** : The service name to manage [default : `fusioninventory-agent`].
|
||
* **fusioninventory__agent_service_manage** : If the fusioninventory agent service should be managed [default : `True`].
|
||
* **fusioninventory__agent_conf_src** : Template used to provide agent configuration file [default : `../templates/etc/fusioninventory/agent.cfg.j2`].
|
||
|
||
### Config Specific Variables
|
||
|
||
Some variables used to generate FusionInventery agent.cfg file from Ansible template :
|
||
|
||
* **fusioninventory__agent_conf_server_url** : The URL of your Fusioninventory-server/GLPI/… [default⎵: ``].
|
||
* **fusioninventory__agent_conf_local_dir** : Write tasks results in a directory [default⎵: ``].
|
||
* **fusioninventory__agent_conf_no_task** : Do not run given task (separated by a comma) [default⎵: ``].
|
||
* **fusioninventory__agent_conf_tasks** : Run given tasks in given order (separated by a comma) [default⎵: ``].
|
||
* **fusioninventory__agent_conf_delaytime** : Set an initial delay before the first target [default⎵: `3600`].
|
||
* **fusioninventory__agent_conf_no_category** : Do not list given category items in inventory task (separated by a comma) [default⎵: ``].
|
||
* **fusioninventory__agent_conf_scan_homedirs** : Enable the scan of user home directories [default⎵: `False`].
|
||
* **fusioninventory__agent_conf_scan_profiles** : Enable the scan of users list [default⎵: `False`].
|
||
* **fusioninventory__agent_conf_no_ssl_check** : Disable check of the server SSL certificate [default⎵: `False`].
|
||
* **fusioninventory__agent_conf_no_httpd** : Disable embedded web server [default⎵: `True`].
|
||
* **fusioninventory__agent_conf_httpd_ip** : Interface/IP, the webserver server should listen to [default⎵: ``].
|
||
* **fusioninventory__agent_conf_httpd_port** : TCP port used by the webserver server to listen [default⎵: `62354`].
|
||
* **fusioninventory__agent_conf_httpd_trust** : hostname or IP or subnet authorized for http request [default⎵: ``].
|
||
* **fusioninventory__agent_conf_tag** : Add given tag to inventory results [default⎵: ``].
|
||
* **fusioninventory__agent_conf_debug** : If debug mode should be enabled [default⎵: `False`].
|
||
|
||
## Example Playbook
|
||
|
||
* Use defaults vars :
|
||
|
||
``` yaml
|
||
- hosts: mynode.DOMAIN
|
||
roles:
|
||
- role: ipr-cnrs.fusioninventory
|
||
tags: ['role::fusioninventory', 'ipr', 'inventory']
|
||
```
|
||
|
||
* Install fusioninventory-agent from repository (unavailable in Debian Stretch and by default for all other release) :
|
||
|
||
``` yaml
|
||
- hosts: mynode.DOMAIN
|
||
roles:
|
||
- role: ipr-cnrs.fusioninventory
|
||
fusioninventory__agent_package_url: ''
|
||
tags: ['role::fusioninventory', 'ipr', inventory']
|
||
```
|
||
|
||
## Configuration
|
||
|
||
This role will :
|
||
* Install needed dependent packages of fusioninventory-agent.
|
||
* Once installed, the dependencies will not be removed.
|
||
* Install fusioninventory-agent package from official project package/URL.
|
||
* Generate agent's configuration file.
|
||
* Manage agent's systemd service.
|
||
|
||
## Development
|
||
|
||
This source code comes from our [Gogs instance][fusioninventory source] and the [Github repo][fusioninventory github] exist just to be able to send the role to Ansible Galaxy…
|
||
|
||
But feel free to send issue/PR here :)
|
||
|
||
Thanks to this [hook][gogs to github hook], Github automatically got updates from our [Gogs instance][fusioninventory source] :)
|
||
|
||
## License
|
||
|
||
[WTFPL][wtfpl website]
|
||
|
||
## Author Information
|
||
|
||
Jérémy Gardais
|
||
* Source : [on IPR's Gogs][fusioninventory source]
|
||
* [IPR][ipr website] (Institut de Physique de Rennes)
|
||
|
||
[gogs to github hook]: https://stackoverflow.com/a/21998477
|
||
[fusioninventory source]: https://git.ipr.univ-rennes1.fr/cellinfo/ansible.fusioninventory
|
||
[fusioninventory github]: https://github.com/ipr-cnrs/fusioninventory
|
||
[wtfpl website]: http://www.wtfpl.net/about/
|
||
[ipr website]: https://ipr.univ-rennes1.fr/
|