NAME

FusionInventory::Agent::HTTP::Server::Inventory - An embedded HTTP server plugin providing remote inventory

DESCRIPTION

This is a server plugin to listen for inventory requests.

It listens on port 62354 by default and can answer with a full inventory XML if authorized.

The following default requests are accepted:

/inventory/session
/inventory/get
/inventory/apiversion

Authentication is firstly based on connection source address: trusted requests can access the API. But a shared secret must be known to use the API.

A client must request a session before being able to request an inventory.

A 'X-Request-ID' header must be provided for a session creation:

The session permits to control access with a shared secret or token so an inventory can only be provided if the returned payload matches the expected one.

The server answers with a nonce set in the 'X-Auth-Nonce' header.

For the /get call, the client must still provide a 'X-Request-ID' header but it also must provide a 'X-Auth-Payload' one computed from 'X-Auth-Nonce' provided value and the shared secret.

CONFIGURATION

disabled yes by default
url_path /inventory by default
port 0 by default to use default one
token not defined by default. /get API is disabled untill one is set
session_timeout 60 (in seconds) by default.
maxrate 30 by default
maxrate_period 3600 (in seconds) by default.
no_compress no by default to keep XML compression possible.

Defaults can be overrided in inventory-server-plugin.cfg file or better in the inventory-server-plugin.local if included from inventory-server-plugin.cfg.