James Turnbull

Kartar.Net

If I had my hand full of truth, I would take good care how I opened it

Vagrant and Puppet Server

Back in December I wrote a simple stand-alone Puppet provisioner for Vagrant. I finally got around to writing another provisioner that handles Puppet in client-server mode. It allows you to create a Vagrant VM and specify a Puppet server to connect to, and the ability to control the node name of the Vagrant VM. If the Puppet server has node configuration for the Vagrant VM (and you sign a certificate etc) then this configuration will be applied on the VM.

Kickstarter

So I’ve been slowly entranced by Kickstarter over the last year. Kickstarter is a new way of funding creative or interesting projects. You set-up a project, specify your objectives, set a target and a time frame for the funds you need and list some rewards (usually varying rewards depending on how much someone pledges). If your total target is met in the time frame then your project is funded and your backers are charged.

Puppet RunDeck v0.0.3

I’ve just released Puppet-RunDeck version 0.0.3. The major change is that it no longer requires Puppet to have stored configuration enabled which should make it applicable to a lot more people. The new version retrieves all nodes stored in the YAML terminus and their facts. You can install the update by updating the gem: $ sudo gem install puppet-rundeck

GitHub plug-in for Rbot

I was mucking around tonight with the GitHub API and decided to write a quick plug-in that allows Rbot to query some simple data from GitHub. The plug-in is very simple. All you need to configure the repository to query for a particular channel in Rbot’s conf.yaml file, for example: github.repomap: - "#vagrant:mitchellh:vagrant" Where this is the name of the IRC channel, the GitHub user, and the name of the GitHub repository.

What are common strategies and tools used by tech companies to manage configuration of hundreds of servers?

(I originally answered this on Quora but I figured it also merited a blog post.) There are two elements to answer here: strategy and tools. Strategies are hard. Lists of tools are easy. What I can tell you also varies greatly on what you define as “strategy” too. I’m going to try and answer mostly the strategy element because to me it’s the more interesting domain. I’ll also list some tools I’ve seen in common use.