Goodbye, Puppet

This has been a hard blog post to write, but to me it feels like it’s been a long time coming. For the better part of the past 5 years my job and open source contributions have revolved a lot around Puppet. I’ve been a member of the community for a long time, contributing to a range of different projects and giving a variety of talks at associated events like Puppet Camps, Configuration Management Camp and PuppetConf.

Read More

In search of a new name for Puppet Community

update: We’ve settled on the name Vox Pupuli. It’s a play on the Latin “vox populi”, voice of the people, but in our case ends up meaning “voice of the puppets”. As quite a few of you know at PuppetConf 2014 we started a community collaboration effort on the maintenance of modules and tooling in the Puppet ecosystem. In our enthusiasm we baptised it Puppet Community. 20/20 hindsight The term Puppet Community (puppet-community) clashes in all kinds of ways with just the community around Puppet, the Puppet community.

Read More

Puppet and IntelliJ

Part of the fun of Puppetconf is getting to talk to so many people and learning clever new tricks from each other. I knew IntelliJ had some support for writing Puppet code but as Travis showed me it’s been greatly improved. If you’re running IntelliJ you’ll need to install both the Ruby and the Puppet plugins. If you’re on RubyMine only the latter is needed. By default the Puppet plugin handles single modules really well and gives you things like code completion and refactoring support for your classes and (defined) types.

Read More

Pupa

Bootstrapping a modern, r10k powered, masterless, Puppet 4 setup on Debian and Ubuntu. pupa is a toy project of mine. Essentially I decided to bring all my personal machines under full Puppet control. Inspired by how our Puppet setup works at my job I decided to go for a masterless setup. The problem really is to get Puppet on your machine. Once it’s there everything else is easy and as you’ll see if you look at the script I’m actually using Puppet to bootstrap part of itself.

Read More

Open source identity and abandonment issues

Today I made one of the hardest decisions I’ve made in a while. I decided to give up maintainership of two projects that I originally started. The projects are pypuppetdb, a library to talk to the PuppetDB API, and Puppetboard, a dashboard for PuppetDB that leverages pypuppetdb. Both projects started two years ago during my time at Nedap. The existing open source dashboards for Puppet sort of sucked and none of them were using PuppetDB so we were storing lots of duplicate data and in an inefficient manner too.

Read More

puppetlabs-apt/next

As some of you know I’m the unofficial maintainer of the apt module from Puppetlabs. Together with Morgan from the Puppetlabs Module Team we try and keep that module up to date and in good shape. The apt module has not seen a significant revision since its inception in 2010. Over the past 4 years it has accumulated feature after feature without anyone taking a hard looking at what was going on inside.

Read More