Preparing Machines for Workshops with Vagrant, VirtualBox, & Puppet

Teaching a workshop involves a lot of thought and preparation. There’s research to do, content prep, slides to tweak — and you have to figure out some way of getting all the attendees started with the same setup. If you’re lucky, you’ll be presenting in a lab with machines that can be set up ahead […]

From Imperative to Declarative System Configuration with Puppet

After my impromptu presentation about configuration management with Puppet at BarCampGR a few weeks ago, several people mentioned that they had tried to use Puppet before, but couldn’t figure out how to make it do anything in the first place. I’d like to clear up some of that uncertainty if I can, so here is […]

Standalone Puppet with Capistrano

Mike English and I frequently make use of Puppet to provision servers and manage server configurations. It is very convenient to be able to setup a server (while simultaneously documenting its configuration) by writing Puppet modules and manifests and then simply running the Puppet agent. For larger setups, we have used the Puppet agent/master model […]

Puppet + Gephi: Visualizing Infrastructure as Code

Justin Kulesza and I have been using Puppet to manage the configuration of some virtualized servers. Recently, we added some modules that introduced unexpected dependency cycles. As we worked to untangle the complex series of dependencies, it became difficult to keep track of just how everything was connected. In order to make sense of the […]

Creating a Custom Yum Repository for Puppet

Mike English and myself have been preparing to deploy Puppet to help manage our infrastructure. Puppet is a Ruby-based server automation tool for *nix systems which uses a declarative language to express a system configuration. The Puppet master distributes a catalog which contains configuration information to Puppet agents which then execute various changes on managed […]