Shell Ruby Perl6 Scala
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Rudder: configuration management made easy

This project is part of Rudder - configuration management made easy.

See: for more information.



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


Thank you for your interest in our project! The contribution process is detailed here:


This git repository contains a Vagrant ( configuration, enabling the user to launch from scratch a developing Rudder environment.

With it, you can modify and contribute to Rudder more easily.


There are two dependencies: VirtualBox and Vagrant.

The former may be installed using your favorite package management system, and the latter using RubyGems.

See the complete installation instructions here:

To set up your environment you also need prerequisites (less Virtual machines) from:


To have a stable and working environment for Rudder, you need first to set up your local machine. In fact, some files will be shared beetween your server Rudder virtual machine and your local machine. You also need to have configurations files fitted with the vm Then at last you can finally run your vm

Setting up files on your local machine

You need to create some files to share with your server VM


A directory containing generated promises for your nodes

$ mkdir -p /var/rudder/share


A directory containing initial promises for Rudder server

$ mkdir -p /var/rudder/cfengine-community/inputs

and you should set its content by copying content of rudder-techniques/initial-promises/node-server from project rudder-techniques (

$ cp -a /path/to/rudder-techniques/initial-promises/node-server/* /var/rudder/cfengine-community/inputs


A repository containing Techniques/Directives/Groups for your server

$ mkdir -p /var/rudder/configuration-repository

and you should set its content by copying directory techniques from project rudder-techniques

cp -a /path/to/rudder-techniques/techniques /var/rudder/configuration-repository/

then in /var/rudder/configuration-repository

$ git init

$ git add techniques

$ git commit -m "initial commit with techniques"

The other directories will be generated when launching the web-app.

Starting the VM

Before starting your vm you have to build the fakeRudder.war

go info directory rudder-vagrant-devbox/fakeRudder, and build the project with:

$ cd rudder-vagrant-devbox/fakeRudder

$ mvn package

$ cp target/fake-rudder-web-VERSION.war ../Vagrant/fakeRudder/

When everything is done, you can start your VM by using the command vagrant up but you have to launch your own rudder webapp.

Launching the webapp

Configuration File

We provide to you a configuration file fitted for that VM configuration (LDAP and PostgresSQL does not use the default ports)

Launch options

To launch Rudder webapp in Eclipse you should create a run configuration for rudder-web

  • Go to menu Run→Run Configurations…​

  • Create a new Jetty-Webapp with target project rudder-web

  • Set port to 8080

  • Switch to tabs "Arguments"

  • Add "-Drudder.configFile=/path/to/rudder-vagrant-dev/config/" to VM Arguments.

  • Apply

  • Run that configuration

The webapp starts!


My webapp can’t start because it can’t read a file, what can I do ?

First you have to look if the corresponding file exists. If so, it may be an authorization problem: look if you own it or not, with the accurate read/write rights. Change the owner to yourself if not.

I can’t build or use a 64 bits VM, how can I change to 32 bits one ?

In file rudder-vagrant-devbox/Vagrant/Vagrantfile, change: = "debian-squeeze-64"+ to = "debian-squeeze-32"+

and choose another Debian Squeeze 32 bits Box from and change the config.vm.box_url parameter to the new value, (for example):

I get a "Please verify that the box exists and is accessible" error message just after the "vagrant up" command

Perhaps the Debain Squeeze Box Image we choose to use is no more available, or not available at the moment - most of these image are on cloud storage, so depending of the weather, things may break :)

Just go to and choose an other Debian Squeeze 64bits images from the list, and then use it for the config.vm.box_url in rudder-vagrant-devbox/Vagrant/VagrantFile.