Scala HTML CSS JavaScript Smalltalk Java Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



Continuous configuration for effective compliance

Rudder is an easy to use, web-driven, role-based solution for IT Infrastructure Automation & Compliance.

The workflow offers different users options at their own level:

  • Non-expert users can define parameters in a central interface, and Rudder will automatically make sure that your IT services are installed, configured, running and in good health. All actions (checks, warnings, fixed errors…) are reported upon immediately in the user interface, keeping drift from nominal behaviour low.

  • Expert users can configure how to implement these parameters on different systems, or build upon the pre-defined library provided using the CLI or API.

  • Managers can consult compliance reports and access audit logs.

Rudder is an established project with several 10000s of node managed, in companies from small to biggest-in-their-field. Typical deployments manage 100s to 1000s of nodes. The biggest known deployment in 2016 is about 7000 nodes.

Rudder Dashboard

Feature overview

  • Web interface to manage nodes and define policies

  • Continuously assesses drift compared to defined policies (with or without auto-healing)

  • Optionally, continuously enforces configuration over time (configuring once is good, ensuring configuration is always valid and automatically fixing it is better)

  • Inventory of all managed nodes

  • Compliance reporting, by configuration and/or by node, with possibility to drill down in non-compliance issues to identify the root problem.

  • Automate common system administration tasks (installation, configuration)

  • Full REST API to interact with the Rudder server

Rudder is open source – we welcome ideas, comments, criticism, patches and any other contributions! So get chatting with our community on IRC!

Testing and installing Rudder

5 minute tests

Demo site

You can see a demo version of Rudder:


Just want to test Rudder without worrying about a full installation, but with real virtual machines so that you can actually configure and test things, unlike the demo? We provide a Vagrant set-up. See Rudder Vagrant page for getting started with Rudder on Vagrant.

Rudder Test Framework (rtf)

Rudder test framework is a tool that allows to define full environnements and set them up for you. For example, you can define a platform with a Rudder server on Debian stable, 2 nodes on CentOS connected to it, and a Rudder Relay Server with its own 2 Debian nodes in 3 lines of configuration and commands.

See for more information.

Installing on real environments

Linux server packages

The easiest way to test and use Rudder for prototyping or production is to install it from the provided Linux packages. For the server, the main current .rpm-based (RedHat, CentOS, SLES) and .deb-based (Debian, Ubuntu) distributions are supported. See for details about repository and available versions.

Rudder agent packages

Rudder agent is extremely versatile and packages are available for a wide range of versions of RedHat, CentOS, SLES, Debian and Ubuntu (like RHEL3 or Debian Lenny).

It works on other distributions as well, like Slackware, Raspbian and other embedded Linux on ARM/x86, Android, FreeBSD but no ready-to-use packages are provided today.

Normation offers AIX, Solaris and Windows agents.


Rudder is supported by Normation

The list of contributors is available in


This project is licensed under GPLv3 license, see the provided "LICENSE" file or

We added an extension to the main GPLv3 license to allows to build and use plugins on top of Rudder with any license, open source or closed/proprietary, see:


Thank you for your interest in our project!

We welcome pull requests on any of the Rudder repositories.

The contribution process is detailed here:

Rudder components and projects overview

Functional Components

Rudder Functional Components


Rudder is now composed of several projects:

Component Description and GitHub Projects

Rudder documentation

We have a project for main documentation and API documentation:

Rudder agent

This project contains the CLI for Rudder agent

Rudder Techniques

Provided Techniques coming in the base set-up of Rudder

ncf framework

A powerful and structured CFEngine framework used to build Rudder Techniques

Rudder server

This is the Scala web application responsible for policy definition and generation by node, and compliance reporting. It also manages node inventories. It is composed of several Scala projects:

Rudder packages

This project contains all the logic to build both server and agent packages for Rudder

Rudder tools

Nice tools around Rudder

Rudder plugins

Plugin examples:

On a more 'developer oriented' usage on this repository only (not as Rudder as a whole):

This Scala web application is managed with Maven software project management ( You will need a working Maven 3.x.x installation.

Clean, build and install on your local repository:

We are working on a public artefact repository for Rudder, so for now you will need to build all dependencies for the Scala web application yourself. You can create a script with the following lines:

$ echo
REPOS="rudder-parent-pom rudder-commons scala-ldap ldap-inventory rudder"
for i in ${REPOS}; do
    echo "\e[0;32mCloning ${i}\e[0m"
    git clone$i.git
    cd ${P}
    echo "\e[0;32mBuilding ${P}\e[0m"
    mvn install