RUDDER 5.0 is out!

The initial RUDDER model consisting of a single software block which includes all features, thus imposing a greater and greater complexity on all of our users, has reached its limits. We have now reached a sufficient understanding of the domain, its challenges, and the way RUDDER is used, to make us realize that this all-in-one model is not, or is no longer, the best suited.

New plugin ecosystem

Version 5.0 introduces a plugin ecosystem that gathers RUDDER’s most specific features. This way, only essential features have to be installed by default and advanced features can be used on a case by case basis. So what is essential and what is not? The basic rule is that the essential experience must contain the features used by 80% or more of users, whatever the scale of use. In other words, we keep as core features everything that delivers on RUDDER’s initial promise: enabling users to continuously audit and enforce configurations with an easy to use webapp providing visual reporting. The remaining 20% solve needs that are no less important, only less common (PDF compliance reports, UI branding, scale-out relay servers, validation workflow…).

To know everything about the impact of this evolution, you can read the detailed dedicated article:

Integration

We provide integration with third party tools as plugins, making RUDDER more integrated with tools like Ansible, Centreon, Zabbix, GLPI or HashiCorp Vault.Except for a few (ie. managing AIX and Windows host), plugins are open source and source code is available here: https://github.com/normation/rudder-plugins/

New documentation

Beyond its fresh look (both on the online website and in the embedded version), this new documentation includes updated content and new resources, like a “getting started” guide and examples of use-cases.

Technically, we have replaced almost every tool we used, and reorganized and updated the sources, using:

AsciiDoc sources, as it is well more adapted than Markdown to this kind of use cases

Antora to generate documentation. We simply had to create a RUDDER theme. Even if it is a young project, and we had to workaround some limitations, it was a really good discovery!

DocSearch (par Algolia) for searching inside the documentation, it is a key usability tool

Pandoc, the documentation swiss knife, for converting markdown to asciidoc at build time

System API

We built a new REST API that allows to manage some advanced settings and perform maintenance operations in RUDDER, like triggering policy generations, updating dynamic groups and managing report archives. This was previously available in the now deprecated V1 API (https://docs.rudder.io/history/4.3/rest-api.html#rest-api) which will be removed in the next major version (5.1).

Debugging information script

We created a script to gather basic information about a RUDDER setup when you want to debug or understand RUDDER’s behavior. This script fetches log files and executes various commands, either to get information from databases or directly from the system (package versions, etc)

Automatic Technique upgrade

Techniques provided with RUDDER can now be automatically upgraded when you update RUDDER. This process used to be manual because you might have modified the base Technique Library and we thought you may want to have more control about the content of your Technique Library. But it appears that this process was forgotten by a majority of our users and so many bug fixes and new versions were not available after an upgrade. By default this feature is enabled on new RUDDER 5.0 installations but is disabled on upgrades from older versions, to prevent any accidental damage.

Support policy

Our general policy is to maintain major releases until 3 months after the next major version is released to give some time for upgrading. The ESR tag was previously given to major releases that were maintained 6 months after the next ESR version was announced. RUDDER 4.1 is the last ESR release.

For a slower major upgrade pace, RUDDER subscription provides long-term maintenance up to 24 months after release (depending on the subscription level) for RUDDER versions.

Supported operating systems

As usual, we are updating the supported operating systems for RUDDER root server. We now support server installation on:

Debian 8 and 9

Ubuntu 16.04 LTS and 18.04 LTS

RHEL/CentOS 7

SLES 12 and 15

For agents, binary packages for some outdated and unmaintained operating system versions are now only part of the RUDDER subscription. Binary packages are freely available for the following distributions:

Packaging

Relay server support is now part of an open-source plugin, pre-compiled packages are available as part of the RUDDER subscription.

The agent package is now more modular: instead of embedding all dependencies, we are using system libraries on maintained operating systems, to allow for a better system integration. As a consequence, the experimental rudder-agent-thin (which had this exact goal) package is not built anymore.

New repositories

We are using new repositories for versions starting from 5.0. We also provide all previous releases in these new repos. We improved our build system, files hierarchy, and added more gpg signatures on distributed files (Rudder sources, etc.)

Check it out!

Vagrant: Just want to test RUDDER without worrying about a full installation, but with real virtual machines so that you can actually configure and test things, unlike the demo? We provide aVagrant set-up. SeeRUDDER Vagrant for getting started with RUDDER on Vagrant.

Linux server packages: 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 (RedHat, CentOS, SLES) and .deb-based (Debian, Ubuntu) distributions are supported. See https://www.rudder.io/en/rudder/download-rudder/ for details about repository and available versions.