KermIT: assign puppet classes to a server within the webui
These days we are working, on the KermIT's master branch, adding some new interersting features (and refactoring lot of our code). Here a video that shows how you can provision the servers, changing the assigned puppet classes directly within the KermIT web interface.
[video src="mornati.net/video_kermit/video/Kermit-Edit_.." width="100%"]
What you should have is the puppet master configured to use Hiera, that allow you to define the puppet site.pp, not in a statically way, but importing definitions using Hiera. Here 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 read this file, is a call to hiera to get information using the machine hostname (or the static string 'centos6.mmornati.lan').
To increase the scalability of our infrastructure, KermIT and Hiera store the puppet configuration into a Redis database. So, when you change server information using KermIT, all stuffs are simply stored into Redis db, and, next time puppet agent is fired, it will read the latest configuration from database.
At the moment we don't have a KermIT development RPM, but you can test all these features getting the code directly from github (branch master). On KermIT website an article explains, step by step, how you can install hiera on your system.