Rudder: configuration management made easy
This project is part of Rudder - configuration management made easy.
See: http://rudder-project.org for more information.
|Mailing list, irc|
This project is licensed under GPLv3 license, see the provided "LICENSE" file or http://www.gnu.org/licenses/gpl-3.0.txt
Thank you for your interest in our project! The contribution process is detailed here: http://www.rudder-project.org/HowToContribute
This git repository contains a Vagrant (http://www.vagrantup.com) 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 (https://github.com/Normation/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
We provide to you a configuration file fitted for that VM configuration (LDAP and PostgresSQL does not use the default ports)
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/configuration.properties" to VM Arguments.
Run that configuration
The webapp starts!
Go to http://localhost:8080/rudder-web/ to access it
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:
+config.vm.box = "debian-squeeze-64"+ to +config.vm.box = "debian-squeeze-32"+
and choose another Debian Squeeze 32 bits Box from http://www.vagrantbox.es/ and change the config.vm.box_url parameter to the new value, (for example):
config.vm.box_url = "http://mathie-vagrant-boxes.s3.amazonaws.com/debian_squeeze_32.box"
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 http://www.vagrantbox.es/ 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.