Hey, here’s something that made me pretty happy:
My name turned up as a contributor in some release notes. It stands to reason that it would, because I work there and I did some work that shows up in that release, but I think that’s a first for me at Puppet. The actual ticket I worked on was for the documentation on the newest version of the Puppet Ruby DSL. It was kind of a heavy thing to have a hand in, I wasn’t sure I liked having to deal with it at the time, but there it is and if you’re the type to maybe feel a little stifled by the vanilla Puppet DSL, maybe you’ll enjoy giving the Puppet Ruby DSL a spin.
Something else I worked on related to the Puppet 3.1-rc1 release, but not as anything that was on a ticket anywhere, is a small enhancement to the documentation for installing Puppet on OS X. Installation itself is pretty simple: You just download a few DMGs and run the installers, but you’re not left with much to work with from there if you want to run a puppet master or background agent. So we rescued a few launchd plists from the aging wiki, spruced them up a little bit, and gave the information a home on the docs site, where it will seem less like some vaguely illicit thing you can try but aren’t encouraged to count on and more like a thing you ought to be doing. So here’s the basic installation guide for Puppet on OS X and here’s the bit about launchd plists for Puppet on OS X with links to a pair of plists that will get you going.
I used them to help finish the setup on a puppet master for a home Mac that isn’t seeing much use now that I’m not working at home as much. I’m going to use it to puppetize a few configurations between my several machines, and also with Kelsey Hightower’s Homebrew provider.
One more note on those: They’re very simple. If you’ve been curious about launchd and thought about replacing cron with it, those links above will give you a minimal working example. All they do is kick Puppet off at system launch, at which point Puppet’s own configuration handles how often a run happens. If you want to set up a launchd job that runs on a given interval, you have to add a StartInterval key. Here’s a reasonable, minimal guide to launchd that points to some tools that’ll keep you out of editing XML. Oh, and here’s a coherent case for launchd from back during Tiger’s launch. The word “barbaric” is used, so if you’re really sensitive about cron and Our Sacred Unix Heritage, you should maybe just let that link be. Alternately, use it as a test to see how you do when exposed to higher quality Apple advocacy.
Oh. Why so happy? Because I remember back when I was kind of this paid Linux and open source guy, and I let some things that were not awesome about that get in the way of enjoying the parts that were awesome. I stopped being that guy and started doing other stuff. In the process of doing that other stuff, I felt pretty cut off from the open source world.
Moving to Puppet Labs, I feel reconnected with that world and understand the ethical language people are speaking around me. I’m really glad I get to make a living contributing to free software people love.