Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


LDAP inventory: store Fusion Inventory report into LDAP directory

This project is part of Rudder - configuration management made easy.

See: for more information.



This project is licensed under GPLv3 license, see the provided "LICENSE" file or


Thank you for your interest in our project! The contribution process is detailed here:


The main goal of this project is to get Fusion Inventory ( 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:

For a more 'developer oriented' usage.

This project is managed thanks to Maven software project management ( You will have to have a working Maven (version 2.2.x or 3.0.x) installation.

Clean, build and install on your local repository:
% 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.