Merged branch 'master' of git://
[sysdb.git] / ReleaseNotes
1                              SysDB Release Notes
2                             =====================
4   The release notes contain noteworthy changes in each System DataBase (SysDB)
5   release, with a summary of the most important changes at the top. A complete
6   and very detailed list of changes can be obtained from the Git logs for each
7   release.
9  About SysDB:
10  ~~~~~~~~~~~~
11   “System DataBase” (SysDB) is a multi-backend system management and inventory
12   collection service. It stores system and inventory information about
13   hardware and software systems. This information is (continuously) collected
14   from various configurable backends (inventory services, monitoring services,
15   etc.) and stored in a graph-like hierarchy of generic objects. The store may
16   be queried through a generic interface independent of the active backends.
17   Object names are canonicalized before they are added to the store to ensure
18   a consistent view of your infrastructure.
20   <>
22 Version 0.1.0, Release Date: 2014-06-01
23 ---------------------------------------
25   This is the initial release of SysDB. It provides the following core
26   features:
28    * sysdb: A terminal-based, interactive client program. Supports
29      line-editing and history based on libreadline or libedit and uses an
30      asynchronous, event-driven architecture to handle user input and server
31      replies simultaneously.
32    * sysdbd: The database backend service configurable through a configuration
33      file. The daemon supports online reconfiguration.
34    * core: Flexible, multi-threaded core architecture providing a configurable
35      plugin infrastructure for querying external data-sources and extending
36      core functionality. The following plugin types are supported:
37      - data collection
38      - hostname canonicalization
39      - logging
40    * store: Central, in-memory object store managing host and service objects
41      and their attributes. Host names may be canonicalized through respective
42      plugins. Each object is automatically attributed with last update and
43      interval information using nano-seconds resolution. Attributes may have
44      various types (integer, decimal, string, date-time, binary).
45    * frontend: The frontend handling client connections uses a multi-threaded,
46      asynchronous, event-driven architecture capable of handling multiple
47      listen addresses.
48    * query language: The store may be queried using the ‘LIST’, ‘LOOKUP’, and
49      ‘FETCH’ commands returning JSON formatted objects.
50    * utils: A rich set of abstract data-types and utility functions for
51      internal use:
52      - generic channels for asynchronous, multi-threaded I/O
53      - DBI wrapper to ease common database access operations
54      - thread-aware error handling and reporting
55      - doubly linked-lists
56      - dynamic sized memory buffers supporting formatted strings and binary
57        data
58      - UNIX socket client implementation
59    * documentation: Full documentation for the tools, all plugins, and the
60      query language provided as manpages and HTML pages.
61    * testing: Unit and integration tests exist for most parts except plugins
62      covering 77% of all functions. Valgrind and Clang's address sanitzer are
63      used to detect memory leaks and programming errors.
65   The following plugins are shipped with this version of SysDB:
67   Backends:
68    * collectd::unixsock: Query collectd through its ‘unixsock’ interface
69    * mk-livestatus: Query arbitrary (monitoring) systems using the Check_MK
70      Livestatus interface.
71    * puppet::store-configs: Query Puppet through its “stored configuration”
72      database.
74   Plugins:
75    * cname::dns: Canonicalize hostnames by querying DNS information.
76    * syslog: Send log messages to the system log service.