/rudder

Continuous Auditing & Configuration

Primary LanguageScalaGNU General Public License v3.0GPL-3.0

Rudder: Continuous Auditing & Configuration

Rudder

chat with the community brightgreen read the documentation green open an issue blue visit our website blueviolet donate to support development yellow rudderio

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

Rudder Dashboard

  • 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

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:

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

Functional Components

Rudder Functional Components

Projects

Rudder is composed of several repositories:

Component Description and Repositories

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

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

This project is licensed under GPLv3 license, see the provided LICENSE (or its source).

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.