Rudder: Continuous Auditing & Configuration
Rudder is an easy to use, web-driven, role-based solution for IT Infrastructure Automation & Compliance.
-
Rudder is made of several components:
-
A central server (written in Scala) that defines the configurations to apply and collects application reports, with a focus on continuously checking configurations and centralising real-time status data. A graphical builder lowers the technical level required to define policies. Each policy can be independently set to be automatically checked or enforced on a policy or host level.
-
Agents installed on the managed nodes. As they are very lightweight (10 to 20 MB of RAM at peak) and blazingly fast (they are written in C and takes less than 10 seconds to verify 100 rules), they run on almost every kind of device, so youβll be managing physical and virtual servers in the data center, cloud instances, and embedded IoT devices in the same way. Installation is self-contained, via a single package, and can auto-update to limit agent management burden.
-
Relay servers (optional) that allows managing nodes in different networks, or on different site through a single entry point.
-
-
Rudder is designed for critical environments where a security breach can mean more than a blip in the sales stats. Built-in features include change requests, audit logs, and strong authentication.
-
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 tens of thousands of managed nodes, in companies from small to biggest-in-their-field. Typical deployments manage 100s to 1000s of nodes. The biggest known deployments are about 10k nodes on a single Rudder server.
β Read more about Rudder features on our website.
Test Rudder
-
You can try a demo version of Rudder web interface with fake nodes and compliance data.
-
Get started with a step-by-step guide to setup a test environment and learn how to configure simple rules!
-
Get in touch: if you encounter any problem while testing or have any question, come chat with the community!
Installation
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 (Red Hat, CentOS, SLES) and .deb-based (Debian, Ubuntu) distributions are supported.
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, FreeBSD but no ready-to-use packages are provided today).
Support for AIX, Solaris and Windows agents is provided as part of Rudder subscription.
To install Rudder:
-
Read about the compatible operating systems and the requirements before starting
-
For a quick installation, we provide an automated installation script
-
For a complete installation, follow the documentation
Links
Website | |
Documentation | |
API documentation | |
Chat | |
Bug report | |
Source |
Contribute
Thank you for your interest in our project! We welcome pull requests on any of the Rudder repositories.
The contribution process is detailed here: https://www.rudder.io/en/expand/contribute/
Rudder is composed of several sub-projects. The contribution process is detailed on our website.
Rudder components and projects overview
Projects
Rudder is composed of several repositories:
Component | Description and Repositories |
---|---|
Rudder documentation |
We have a dedicated project for Rudder main documentation: https://github.com/Normation/rudder-doc |
Rudder agent |
This project contains the CLI for Rudder agent https://github.com/Normation/rudder-agent |
Rudder configuration policies |
Provided techniques coming in the base set-up of Rudder https://github.com/Normation/rudder-techniques The structured configuration framework used to build Rudder techniques https://github.com/Normation/ncf |
Rudder server |
This is the Scala web application responsible for policy definition and generation by node, and compliance reporting. It also manages node inventories. https://github.com/Normation/rudder |
Rudder packages |
This project contains all the logic to build both server and agent packages for Rudder https://github.com/Normation/rudder-packages |
Rudder tools |
Nice tools around Rudder, including various user-contributed scripts. https://github.com/Normation/rudder-tools |
Rudder plugins |
https://github.com/Normation/rudder-plugins https://github.com/Normation/rudder-plugin-itop |
Authors
Rudder is supported by Normation.
The list of contributors is available in https://github.com/Normation/rudder/graphs/contributors
License
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 the LICENSE_EXCEPTION.