Code

parser: Let the TIMESERIES command accept optional data-source names.
[sysdb.git] / README
diff --git a/README b/README
index a737ebc07900611427eea606e0fd773ecd5ac1e4..43f6f29aeab6e23bef9fb282f8d9e626a51abb16 100644 (file)
--- a/README
+++ b/README
@@ -2,22 +2,56 @@
        ===============================================================
 
   “System DataBase” (SysDB) is a multi-backend system management and inventory
        ===============================================================
 
   “System DataBase” (SysDB) is a multi-backend system management and inventory
-  collection service. It may be used to (continuously) collect information
-  about your systems from various backends (inventory services, monitoring
-  services, etc.) and provides a unique interface to access the information
-  independent of the active backends. This is done by storing and mapping the
-  backend objects to generic objects and correlating the attributes to create
-  a single hierarchical view of your infrastructure.
+  collection service. It stores system and inventory information about
+  hardware and software systems. This information is (continuously) collected
+  from various configurable backends (inventory services, monitoring services,
+  etc.) and stored in a graph-like hierarchy of generic objects. The store may
+  be queried through a generic interface independent of the active backends.
+  Object names are canonicalized before they are added to the store to ensure
+  a consistent view of your infrastructure.
+
+  The central object type is a host, which generally represents a physical or
+  virtual machine or any other type of physical resource. Hosts, in turn, may
+  reference a list of services which represent any kind of logical resource
+  like a software system. Both, hosts and services, may reference a list of
+  attributes which represent further information about the respective host or
+  service object. For example, attributes may specify static information like
+  a host's architecture or the software version. A host may also reference a
+  list of metrics which are references to performance data stored about the
+  host. SysDB supports querying the respective time-series from a backend's
+  data store.
 
   SysDB is free and open source software, licensed under the 2-clause BSD
 
   SysDB is free and open source software, licensed under the 2-clause BSD
-  license. See COPYING for details.
+  license. See COPYING for details. Changes between all SysDB releases can be
+  found in the file ReleaseNotes.
+
+  <https://sysdb.io/>
+
+Configure and install SysDB
+---------------------------
+
+  To configure, build and install SysDB with the default settings, run
+  ‘./configure && make && make install’. For detailed, generic instructions
+  see INSTALL. For a complete list of configure options and their description,
+  run ‘./configure --help’.
+
+  Various third-party packages are required for a full installation of SysDB.
+  See the section ‘Prerequisites’ below for details. A summary of
+  user-supplied and auto-detected build settings is displayed at the end of
+  each ‘configure’ run. Consult this first for trouble-shooting.
+
+  By default, SysDB will be installed into ‘/opt/sysdb’. You can adjust this
+  setting by specifying the ‘--prefix’ configure option - see INSTALL for
+  details. If you pass DESTDIR=<path> to ‘make install’, <path> will be
+  prefixed to all installation directories. This might be useful when creating
+  packages for SysDB.
 
 Prerequisites
 -------------
 
   To compile the SysDB package from source you need:
 
 
 Prerequisites
 -------------
 
   To compile the SysDB package from source you need:
 
-  * A build environment: autotools, libtool, C compiler, ...
+  * A build environment: autotools, libtool, C and C++ compilers, ...
 
     <http://www.gnu.org/software/automake/>
     <http://www.gnu.org/software/autoconf/>
 
     <http://www.gnu.org/software/automake/>
     <http://www.gnu.org/software/autoconf/>
@@ -36,11 +70,10 @@ Prerequisites
 
     <http://pubs.opengroup.org/onlinepubs/9699919799/>
 
 
     <http://pubs.opengroup.org/onlinepubs/9699919799/>
 
-  * asciidoc, xsltproc, xmlto:
+  * asciidoc, xmlto:
     The AsciiDoc text document format is used to write the manpages.
 
     <http://www.methods.co.nz/asciidoc/>
     The AsciiDoc text document format is used to write the manpages.
 
     <http://www.methods.co.nz/asciidoc/>
-    <http://xmlsoft.org/XSLT/>
     <https://fedorahosted.org/xmlto/>
 
   * libedit or libreadline:
     <https://fedorahosted.org/xmlto/>
 
   * libedit or libreadline:
@@ -54,48 +87,74 @@ Prerequisites
 
   * libdbi:
     The database independent abstraction layer is used for database access by
 
   * libdbi:
     The database independent abstraction layer is used for database access by
-    the puppet::store-configs plugin.
+    the backend::puppet::store-configs plugin.
 
     <http://libdbi.sourceforge.net/>
 
 
     <http://libdbi.sourceforge.net/>
 
+  * libfacter:
+    The cfacter library for gathering facts about a system is used by the
+    backend::facter plugin to retrieve attributes about the local system.
+
+    <https://github.com/puppetlabs/cfacter>
+
+  * librrd:
+    The RRDtool library is used by the timeseries::rrdtool plugin to retrieve
+    time-series from RRD files.
+
+    <https://oss.oetiker.ch/rrdtool/>
+
+  * libssl:
+    The Secure Sockets Layer toolkit library is used to encrypt and
+    authenticate TCP connections.
+
+    <http://openssl.org/>
+
 Testing
 -------
 
   Unit and integration tests for SysDB are shipped along with the source code
 Testing
 -------
 
   Unit and integration tests for SysDB are shipped along with the source code
-  in the ‘t’ subdirectory. Run ‘make test’ to run all available tests.
+  in the ‘t’ subdirectory. Run ‘make test’ to run all available tests or use
+  the following commands to run unit and integration tests separately:
+
+    make test TESTS='$(UNIT_TESTS)'
+    make test TESTS='$(INTEGRATION_TESTS)'
 
   Some tests require the ‘fopencookie’ function as provided by the GNU libc
   library. It used used to mock I/O related functions. In case this function
   is not available, the respective tests will be disabled automatically.
 
 
   Some tests require the ‘fopencookie’ function as provided by the GNU libc
   library. It used used to mock I/O related functions. In case this function
   is not available, the respective tests will be disabled automatically.
 
-  The integration tests require valgrind and chrpath. If any of these are not
-  available, integration tests will be disabled automatically.
+  The integration tests require valgrind. If it is not available, integration
+  tests will be disabled automatically.
 
   For the latest build status, see:
 
   For the latest build status, see:
-  <https://travis-ci.org/tokkee/sysdb>
+  <https://travis-ci.org/sysdb/sysdb>
 
   Code coverage testing using Gcov may be enabled when using the
   ‘--enable-gcov’ configure option.
 
   For the latest coverage report, see:
 
   Code coverage testing using Gcov may be enabled when using the
   ‘--enable-gcov’ configure option.
 
   For the latest coverage report, see:
-  <https://coveralls.io/r/tokkee/sysdb>
+  <https://coveralls.io/r/sysdb/sysdb>
 
 
-Configuring / Compiling / Installing
-------------------------------------
+Documentation
+-------------
 
 
-  To configure, build and install SysDB with the default settings, run
-  ‘./configure && make && make install’. For detailed, generic instructions
-  see INSTALL. For a complete list of configure options and their description,
-  run ‘./configure --help’.
+  All documentation for SysDB is available as manual pages (in roff and HTML
+  formats) and shipped alongside the source code in the doc/ subdirectory.
+  Also, it is available online at <https://sysdb.io/documentation/>.
 
 
-  By default, SysDB will be installed into ‘/opt/sysdb’. You can adjust this
-  setting by specifying the ‘--prefix’ configure option - see INSTALL for
-  details. If you pass DESTDIR=<path> to ‘make install’, <path> will be
-  prefixed to all installation directories. This might be useful when creating
-  packages for SysDB.
+Getting Help
+------------
+
+  Various channels for asynchronous and real-time communication with
+  developers and users are available. See <https://sysdb.io/contact/> for
+  details about the mailing list, IRC channel, and social media.
 
 Author
 ------
 
   Sebastian “tokkee” Harl <sh@tokkee.org>
 
 
 Author
 ------
 
   Sebastian “tokkee” Harl <sh@tokkee.org>
 
+  See the file THANKS for credits and inspiration.
+
+  Want to contribute? Check out the website <https://sysdb.io> for details.
+