These days we are working, on the KermIT master branch, adding some new interesting features (and refactoring a lot of our code).
The Feature#
Here is a video that shows how you can provision the servers, changing the assigned puppet classes directly within the KermIT web interface.
[video src=“http://www.mornati.net/video_kermit/video/Kermit-Edit_Puppet_Classes_with_Hiera_backend.mp4” width=“100%”]
Prerequisites#
What you should have is a puppet master configured to use Hiera, which allows you to define the puppet site.pp not in a static way, but importing definitions using Hiera. Here is my dev file:
node default {
include sudo
}
node centos6 inherits default {
hiera_include('centos6.mmornati.lan', '')
}
node puppet inherits default {
hiera_include($hostame, '')
}What will happen when puppet reads this file, is a call to Hiera to get information using the machine’s hostname (or the static string centos6.mmornati.lan).
Storage#
To increase the scalability of our infrastructure, KermIT and Hiera store the puppet configuration into a Redis database. So, when you change server information from KermIT, everything is simply stored into Redis, and the next time the puppet agent is fired, it will read the latest configuration from the database.
Try It Out#
At the moment we don’t have a KermIT development RPM, but you can test all these features by getting the code directly from github (branch master). On the KermIT website, an article explains step by step how you can install Hiera on your system.
