2
0
Fork 0
A role to manage FusionInventory agent installation and configuration
This repository has been archived on 2023-10-25. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Jeremy Gardais b5bdf41a76
Merge branch 'Yoda-BZH-service-cron'
2023-08-07 15:43:02 +02:00
defaults Merge branch 'master' into service-cron 2023-08-07 15:00:40 +02:00
handlers Restart agent's service if needed. 2018-09-10 14:55:42 +02:00
meta Update meta infos 2021-08-26 15:59:25 +02:00
tasks Merge branch 'master' into service-cron 2023-08-07 15:00:40 +02:00
templates/etc/fusioninventory Pipe ansible_managed to `comment` jinja filter 2022-11-07 10:41:08 +01:00
tests Install fusioninventory-agent packages and dep 2018-09-10 11:33:08 +02:00
vars Merge branch 'wip_rhel8' of https://github.com/mjourdan/fusioninventory into mjourdan-wip_rhel8 2021-10-27 15:57:54 +02:00
.travis.yml Install fusioninventory-agent packages and dep 2018-09-10 11:33:08 +02:00
CHANGELOG.md Merge branch 'master' into service-cron 2023-08-07 15:00:40 +02:00
README.md Merge branch 'master' into service-cron 2023-08-07 15:00:40 +02:00

README.md

FusionInventory

  1. Overview
  2. Role Variables
  3. Example Playbook
  4. Configuration
  5. Development
  6. License
  7. 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.6-1].
  • 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: "https://github.com/fusioninventory/fusioninventory-agent/releases/download/" + fusioninventory__agent_major_version + "/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].
  • fusioninventory__agent_service_status: Service state, can be started, stopped, restarted, reloaded [default : started].
  • fusioninventory__agent_service_enabled: Service status, can be enabled (true) or disabled (false) [default: true].

Cron variables

  • fusioninventory__agent_conf_cron: Enable ("present") or disable ("absent") a job cron to run the agent [default: "absent"].
  • fusioninventory__agent_conf_cron_day: Which days should the agent be ran [default: "*"].
  • fusioninventory__agent_conf_cron_hour: Which hours should the agent be ran [default: "23"].
  • fusioninventory__agent_conf_cron_minute: Which minutes should the agent be ran [default: "0"].
  • fusioninventory__agent_conf_cron_month: Which months should the agent be ran [default: "*"].
  • fusioninventory__agent_conf_cron_weekday: Which weekdays should the agent be ran [default: "*"].
  • fusioninventory__agent_conf_cron_user: Which user should the agent be ran under [default: "root"].
  • fusioninventory__agent_conf_command: The command should cron run [default: "sleep $(( RANDOM \\% 3600 )); /usr/bin/fusioninventory-agent"].

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_log_logger: Specifies the logger backend to use [default⎵: syslog].
  • fusioninventory__agent_conf_log_facility: Specifies the syslog facility to use for the syslog logger backend [default⎵: LOG_DAEMON].
  • fusioninventory__agent_conf_log_file: Specifies the file to use for the file logger backend [default⎵: /var/log/fusioninventory.log].
  • fusioninventory__agent_conf_log_file_maxsize: Specifies the maximum size for the log file, in MB [default⎵: 0].
  • fusioninventory__agent_conf_log_color: Enables color display for the stderr logger backend [default⎵: false].
  • 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:
- 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):
- 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 and the Github repo exist just to be able to send the role to Ansible Galaxy…

But feel free to send issue/PR here :)

Thanks to this hook, Github automatically got updates from our Gogs instance :)

License

WTFPL

Author Information

Jérémy Gardais