Table of Contents
Rudder components are distributed as a set of packages.
-
rudder-webapp
- Package for the Rudder Web Application. It is the graphical interface for Rudder.
-
rudder-inventory-endpoint
- Package for the inventory reception service. It has no graphical interface. This service is using HTTP as transport protocol. It receives an parses the files sent by FusionInventory and insert the valuable data into the LDAP database.
-
rudder-jetty
-
Application server for
rudder-webapp
andrudder-inventory-endpoint
. Both packages are written in Scala. At compilation time, they are converted into.war
files. They need to be run in an application server. Jetty is this application server. It depends on a compatible Java 7 Runtime Environment. -
rudder-techniquess
-
Package for the Techniques. They are installed in
/opt/rudder/share/techniques
. At runtime, the Techniques are copied into a git repository in/var/rudder/configuration-repository
. Therefore, the package depends on thegit
package. -
rudder-inventory-ldap
- Package for the database containing the inventory and configuration information for each pending and validated Node. This LDAP database is build upon OpenLDAP server. The OpenLDAP engine is contained in the package.
-
rudder-reports
-
Package for the database containing the logs sent by each Node and the reports
computed by Rudder. This is a PostgreSQL database using the PostgreSQL
engine of the distribution. The package has a dependency on the
postgresl
package, creates the database namedrudder
and installs the inialisation scripts for that database in/opt/rudder/etc/postgresql/*.sql
. -
rudder-server-root
-
Package to ease installation of all Rudder services. This package depends on all above packages. It also
- installs the Rudder configuration script:
/opt/rudder/bin/rudder-init
- installs the initial promises for the Root Server in:
/opt/rudder/share/initial-promises/
-
installs the init scripts (and associated
default
file):
/etc/init.d/rudder
- installs the logrotate configuration:
/etc/logrotate.d/rudder-server-root
-
rudder-agent
- One single package integrates everything needed for the Rudder Agent. It contains CFEngine Commmunity, FusionInventory, and the initial promises for a Node. It also contains an init script:
/etc/init.d/rudder
The rudder-agent
package depends on a few libraries and utilities:
-
OpenSSL
-
libpcre
-
liblmdb
(On platforms where it is available as a package - on others the rudder-agent package bundles it) -
uuidgen
The Rudder Web application requires the installation of Apache 2 httpd, JRE 7+, and cURL; the LDAP Inventory service needs rsyslog and the report service requires PostgreSQL.
When available, packages from your distribution are used. These packages are:
- Apache
-
The Apache Web server is used as a proxy to give HTTP access to the Web
Application. It is also used to give writable WebDAV access for the inventory.
The Nodes send their inventory to the WebDAV service, the inventory is stored in
/var/rudder/inventories/incoming
. - PostgreSQL
- The PostgreSQL database is used to store logs sent by the Nodes and reports generated by Rudder. Rudder 4.0 is tested for PostgreSQL 9.2 and higher. It still works with version 8.4 to 9.1, but not warranties are made that it will hold in the future. It is really recommanded to migrate to PostgreSQL 9.2 at least.
- rsyslog and rsyslog-pgsql
-
The rsyslog server is receiving the logs from the nodes and insert them into a
PostgreSQL database. On SLES, the
rsyslog-pgsql
package is not part of the distribution, it can be downloaded alongside Rudder packages. - Java 7+ JRE
- The Java runtime is needed by the Jetty application server. Where possible, the package from the distribution is used, else a Java RE must be downloaded from Oracle's website (http://www.java.com).
- curl
-
This package is used to send inventory files from
/var/rudder/inventories/incoming
to the Rudder Endpoint. - git
-
The running Techniques Library is maintained as a git repository in
/var/rudder/configuration-repository/techniques
.