Brussels / 3 & 4 February 2018


Breaking with conventional Configuration File Editing

Puppet with a Key/Value API in a User Study

While on top-level configuration management tools usually have key/value interfaces, in the layer below other techniques are used, such as:

  • Rewriting configuration files with templates (ERB templates, ...)
  • Specify replacements (file_line, Augeas, ...)

In this talk, we will discuss a new approach using a key/value interface in every layer of configuration access, implemented in Puppet-Libelektra. Different to other key/value APIs Puppet-Libelektra is independent of the concrete configuration file format, abstracts from the syntax, and supports validation.

In a time-consuming user study we found the key/value interface to be significantly faster to use. Because of integrated validation it is also more safe, and because of local tooling it is easier to use. Puppet-Libelektra is already used in practice: Elektra's web and build server is managed using Puppet-Libelektra.


Photo of Markus Raab Markus Raab