• Stars
    star
    477
  • Rank 87,932 (Top 2 %)
  • Language
    Scala
  • License
    GNU General Publi...
  • Created over 12 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rudder is a configuration and security automation platform. Manage your Cloud, hybrid or on-premises infrastructure in a simple, scalable and dynamic way.

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 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

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.

More Repositories

1

ncf

Base configuration library and generic methods for Rudder Linux/AIX agent
Python
45
star
2

scala-ldap

Scala
37
star
3

rudder-techniques

Rudder: built-in technique library to handle common configuration or audit tasks
Smalltalk
17
star
4

rudder-plugins

All Rudder public plugins in one repository. Licenses are by-plugin.
Scala
14
star
5

rudder-tools

Smarty
13
star
6

rudder-doc

Rudder documentation
CSS
12
star
7

rudder-vagrant

Simple setup with one server and one managed node
11
star
8

rudder-agent

Rudder agent support utility repository
Shell
10
star
9

rudder-packages

Shell
10
star
10

rudder-api-client

Rudder API client repository
Python
9
star
11

rudder-tests

Automatic set-up of complex server/relay/node virtual machines topology and test Rudder on it
Vim Script
7
star
12

ldap-inventory

Scala
6
star
13

rudder-commons

Scala
5
star
14

rudder-ansible

Ansible collection for Rudder
Python
5
star
15

rudder-plugin-helloworld

4
star
16

rudder-api-doc

Documentation for the REST APIs of Rudder
JavaScript
3
star
17

rudder-parent-pom

3
star
18

cf-clerk

Scala
2
star
19

rundeck-plugin-rudder

This repository hosts the Rundeck plugin for Rudder
Scala
2
star
20

rudder-plugin-external-node-information

This plugin allows to add external, static documents in a new tab in node details. With the plugin, you configure one (or several) root directory where are located your documents, and if a node has one for it (based on a regex and its hostname or uuid), the document will be downloadable.
2
star
21

cfengine-promise-rust

Rust implementation of CFEngine's custom promise types
Rust
1
star
22

rudder-vagrant-devbox

Shell
1
star