This is a really old project now, but basically it uses Puppet to set up the Icinga2 engine (no GUI) on a master node.
Then installs/configures nodes that report to the master node.
Public Key Infrastructure setup
Simple test scripts to report back to master node