Technical architecture and software dependencies
Rudder contains several functionally independent components, illustrated in the diagram below:
Configuration policies database
Event logs database
User interface: Web and REST API
Node interface: inventory reception, state reports reception, configuration policy sharing
Relay server to centralize networks flows of an isolated network zone
The Rudder server listens for incoming connections from the agents installed on the nodes to manage, and communicates with them. The connection frequency from nodes to server is configurable, from several minutes to several hours.
The following diagram shows the network architecture of a Rudder installation:
You can see that relay server allow separating some network areas (for example a DMZ, a specific datacenter or remote site) using a local server for each area to distribute configuration policies and centralize agent reports and inventories.
Agents can be installed using a simple software package (
The agent has a very small memory footprint (< 20MB), and is very fast applying configurations (complete runtime below 10 seconds for hundreds of configuration components). It requires at most 500MB of free disk space.
Rudder is currently supported on all major Linux distributions (Red Hat Enterprise Linux and derivatives like CentOS and Scientific Linux, Debian, Ubuntu, SUSE Linux Enterprise, etc.) for all supported versions, but also for older unsupported ones, Windows for desktops and servers (Server 2008 R2 or newer) and AIX (5.3 or newer). Experimental builds for Solaris, FreeBSD, Android and Mac OS X also exist, as well as a version for ARM architecture.