LDAP inventory: store Fusion Inventory report into LDAP directory
This project is part of Rudder - configuration management for the masses.
See: http://rudder-project.org for more information.
|Mailing list, irc|
This project is licensed under AGPLv3 license, see the provided "LICENSE" file or http://www.gnu.org/licenses/agpl-3.0.txt
Thank you for your interest in our project! The contribution process is detailed here: http://www.rudder-project.org/HowToContribute
The main goal of this project is to get Fusion Inventory (http://fusioninventory.org) inventory report, parse them, transform them in Node/Machine object, and store them in some backend, allowing smart merging rules (detecting existing nodes, etc).
This project is composed of several modules:
that module define all domain objects and service interfaces (storing object, parsing report, merging strategy, etc) It is not tied to any backend, nor any inventory report format.
that module define parsing logic for Fusion Inventory XML report. It allows to add plugable parsing rules for extension in the report, like elements used in Rudder.
that module contains implementation logic for storage backends. For now, only an LDAP backend is implemented.
that module contains implementation for the provisionning logic: from a parsed report, how to save it, perhaps merge with existing information, etc.
that last module is a web application that expose a REST service on which inventory can be post. The implementation is rather short, as most of the code is just here to weave services and implementations.
The easiest way to test and use LDAP-inventory web application is to install it with Rudder from the provided Linux packages, see: http://www.rudder-project.org/foswiki/Main/Installation
This project is managed thanks to Maven software project management (http://maven.apache.org/). You will have to have a working Maven (version 2.2.x or 3.0.x) installation.
% mvn clean install
Modules inventory-api, inventory-fusion, inventory-repository and inventory-provisioning-core are simple libraries, so nothing more have to be done with them.
inventory-provisioning-web produce a Java Web-application Archive (war) that can be used in any servlet application server (jetty, tomcat,…).
There is two files that have to be configured:
configure general properties, like LDAP server connection information and where to store login information.
configure technical log (level, etc).
Each of these file may be used in two ways:
by removing ".sample" from their name and putting them in web application classpath. You may for example copy them in src/main/resources/ and invoke mvn install or directly put them in the war file (you will have to unwar it, add files, etc - not the easiest way)
by specifying a parameter to the JVM used for the web-application:
for your log file;
for application configuration file.