Scala HTML CSS JavaScript Smalltalk Java Other

README.asciidoc

Rudder: open source IT automation and 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 console, 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.

  • Managers can consult compliance reports and access audit logs.

Rudder combines the power of some of the best-of-breed open source tools in the field, adding reporting and higher level features to keep an eye on your IT: the ncf framework and CFEngine configuration management agent, the FusionInventory hardware and software inventory tool, reporting and higher level features to keep an eye on your information system. Rudder’s web interface is developed in Scala.

Tip
Rudder is open source – we welcome ideas, comments, criticism, patches and any other contributions! So let’s get a chat we our community on irc!

Feature overview

  • Automate common system administration tasks (installation, configuration)

  • Enforce configuration over time (configuring once is good, ensuring that configuration is valid and automatically fixing it is better)

  • Inventory of all managed nodes

  • Web interface to configure and manage nodes and their configuration

  • Compliance reporting, by configuration and/or by node

  • Full API to interact with Rudder server

Testing Rudder

Demo site

You can see a demo version of Rudder:

Linux packages

The easiest way to test and use Rudder is to install it from the provided Linux packages. For the server, the main .rpm-based (RedHat, CentOS, SLES) and .deb-based (Debian, Ubuntu) distribution are supported. See https://www.rudder-project.org/site/get-rudder/downloads/ for details about repository and available versions.

Vagrant

Just want to test Rudder without worrying about a full installation? We provide a Vagrant set-up. See Rudder Vagrant page for a getting-started with Rudder on Vagrant.

Rudder components and projects overview

Rudder is now composed of several projects:

Component Description and GitHub Projects

Rudder Techniques

Provided Techniques coming in the base set-up of Rudder https://github.com/Normation/rudder-techniques

Rudder packages

This project contains all the logic to build both server and agent packages for Rudder https://github.com/Normation/rudder-packages

Rudder server

This is the Scala web application It is composed of several Scala projects: https://github.com/Normation/rudder-parent-pom https://github.com/Normation/rudder-commons https://github.com/Normation/scala-ldap https://github.com/Normation/cf-clerk https://github.com/Normation/rudder

Rudder inventory

This part is in charge of parsing fusion inventory reports for Rudder https://github.com/Normation/ldap-inventory

Rudder agent

This project contains the CLI for Rudder agent https://github.com/Normation/rudder-agent

ncf framework

A powerful and structured CFEngine framework used to build Rudder Techniques https://github.com/Normation/ncf

Rudder tools

Nice tools around Rudder https://github.com/Normation/rudder-tools

Rudder plugins

Plugin examples: https://github.com/Normation/rudder-plugin-helloworld https://github.com/Normation/rudder-plugin-external-node-information https://github.com/Normation/rudder-plugin-itop

Rudder documentation

We have a project for main documentation and API documentation: https://github.com/Normation/rudder-doc https://github.com/Normation/rudder-api-doc

Authors

Rudder is supported by Normation http://normation.com

The list of contributors is available in https://github.com/Normation/rudder/graphs/contributors

License

This project is licensed under GPLv3 license, see the provided "LICENSE" file or http://www.gnu.org/licenses/gpl-3.0.txt

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: https://github.com/Normation/rudder/blob/master/LICENSE_EXCEPTION

Contributing

Thank you for your interest in our project!

We welcome pull requests on any of Rudder projects.

The contribution process is detailed here: http://www.rudder-project.org/HowToContribute

For a more 'developer oriented' usage.

This project is managed thanks to Maven software project management (http://maven.apache.org/). You will have to have a working Maven 3.0.x installation.

Clean, build and install on your local repository:
% mvn clean install

For now, the development environment is not trivial to set-up. We want to make it more easy so that an unique command will set-up the full environment, but we are afraid that until that bright future become true, you will have to follow: http://www.rudder-project.org/foswiki/Development/SettingUpADevelopmentEnvironment