Thanks to an errant tweet I started playing with Riemann again. It ticks lots of boxes for me, from the clojure to configuration as code and the overloadable dashboard application. What started as using Puppet and Vagrant to investigate Riemann turned into a full-blown tool and module writing exercise, resulting in two related projects on GitHub.
- garethr-riemann is a Puppet module for installing and configuring Riemann. It allows for easily specifying your own server configuration and dashboard views.
- riemann-vagrant is a Vagrantfile and other code that uses above puppet module to set up a local testing environment.
I like this combination, a separate Puppet module, along with a vagrant powered test bed. I’ve written a reasonable rspec-based test suite to check the module, but it’s always easier to be able to run vagrant provision as well to make sure everything is working. This also turned out to be the perfect opportunity to use Librarian-Puppet to manage the dependencies and, eventually, to eventually the module to the Puppet Forge.