The blog has moved to ... Many google searches point here so I am leaving it operational, but there will be no new posts.

Saturday, July 6, 2013

Puppet Solo (AKA: supply_drop)

Similar to knife-solo for use with chef, supply_drop allows you to provision servers using puppet without the need for a puppet master server. It uses capistrano for executing commands on the remote server. I put together a working sample set of puppet and supply_drop deployment scripts for provisioning a postgres server.

See the github repo at


Monday, June 24, 2013

WAL-e chef cookbook

Postgres has various backup and restore options
Do you have a recovery plan in case your Postgres server crashes - your daily pg_dump is probably not going to cut it.
Postgres uses Write-Ahead Logging (WAL)
Write-Ahead Logging (WAL) is a standard method for ensuring data integrity. A detailed description can be found in most (if not all) books about transaction processing. Briefly, WAL's central concept is that changes to data files (where tables and indexes reside) must be written only after those changes have been logged, that is, after log records describing the changes have been flushed to permanent storage. If we follow this procedure, we do not need to flush data pages to disk on every transaction commit, because we know that in the event of a crash we will be able to recover the database using the log: any changes that have not been applied to the data pages can be redone from the log records. (This is roll-forward recovery, also known as REDO.)
Setting up Continuous Archiving and Point-in-Time Recovery (PITR) for your Postgres WAL files is very complex, lucky for us the WAL-e project has simplified this process greatly. WAL-e has utilities for sending all WAL files to an AWS S3 bucket as the log files are being generated. More Information, see:
Recently I put together a chef cookbook which installs WAL-e on a Postgres instance, see:

Tuesday, June 11, 2013

Vagrant and puppet postgres 9.2 on ubuntu

Some vagrant configuration to install postgres 9.2 using puppet


Saturday, June 1, 2013

Vagrantfile for setting up multiple machines with chef configuration

Example Vagrantfile below for setting up multiple virtual machines and using chef to provision them


Thursday, March 21, 2013

HipChat is now free!

Just got an email from HipChat - now free for small groups - awesome!

Saturday, February 23, 2013

> random tricks you can do with Rails

There are bunch of really good nuggets in this presentation:

Ruby on Rails continuous integration (CI) with Jenkins the easy way with Chef and Knife

Do you need a CI build setup for your Ruby on Rails app?

Here are some chef / knife solo scripts that will deploy a Jenkins server to run your CI build - you could be up and running in less than 1/2 an hour

Check out the README for details