RUDDER aims at providing an easy to use configuration management solution. One of the key design choice that allows it is the separation of configuration according to different abstraction levels:
- Techniques which are configurable configuration templates
- Directives which are ready-to-use instances of a technique
Directives are then linked to machines (using rules and groups). Techniques come from two different sources:
- Built-in technique, which are installed with RUDDER and directly usable. They allow managing system components (SSH server, Users, etc).
- The technique editor which provides an easy to use web interface to build custom techniques from low level unitary methods
Until RUDDER 4.3, techniques created with the technique editor lacked a part of the flexibility of the built-in techniques: once created, the user could only select a policy mode when defining an directive from it, while built-in techniques provide a complete set of customizable parameters. All configuration customization in techniques from the editor needed to refer to variables directly inside the technique’s code (for example to node properties).
This had major drawbacks:
- It was really difficult to keep track of variable usage, and reading the whole content of a technique was the only way to know which variables it uses
- These variables were only evaluated at agent execution time, preventing detection of undefined variables at the policy generation level
- It broke the abstraction level of the techniques, requiring the user of the technique to know about its internals
RUDDER 4.3 introduced the ability to add variables to techniques from the technique editor. This means directives created from the technique editor now take parameter, like built-in one. The parameters are configured directly in the technique editor. This allows easily specializing a generic technique using parameters. By defining the following parameters:
Any parameter of any methods from this technique will be able to use the value of these parameters using the classic syntax (${domain} and ${port} in this case).
This also allows applying the same technique editor-based technique to the same node for multi-instance application (for example for a technique configuring a software repository, etc.).
When defining a directive from this technique, the user will have access to a standard directive form like:
Which allows using the full power of the abstraction the directives constitute with custom defined techniques!
For now, these technique parameters are all string values, but we will very likely add more data types in the future releases.
What’s next?
RUDDER 4.3 brings the last consolidations on the features that version 4.0 brought. Feedbacks received allowed us to enrich and perfect them over 3 versions while working on the big novelties to appear soon in RUDDER 5.
Indeed, the next version is going to be a major release, which will bring many changes both inside and outside Rudder, including :
- a reporting plugin to extract historical compliance reports
- numerous integrations with other tools:
- Centreon
- Slack
- iTop
- and so on
Because of the new regulation about personal data, we invite you to subscribe to our anglophone newsletter .
To join the francophone newsletter, click here instead: http://eepurl.com/b-_wK9
If you already signed up in the past long ago, fill up and submit the form once again to confirm you want to be kept informed about RUDDER news. If you don’t there is a chance for you to be removed from our database because of the new data retention period legislation.