Paul Czarkowski

Random musings mostly about tech

BreadOps - Continuous Delivery of Fresh Baked Bread

“See how this sparkly devop princess bakes bread every day with almost no effort at all with this one weird trick” Store bought bread is shit. Even the “artisanal” bread at most supermarkets is little better than cake baked in a bread shaped mold ( seriously check next time you’re at a supermarket ). You might be lucky and have a really good bread baker near you, but like butchers and other important crafts they have all but disappeared.

EZBake - A new way to converge docker containers with chef

EZ Bake came from an idea I had while watching the HangOps episode 2014-04-11 in which they were talking about Docker and Config Management being complementary rather than adversary.

I have expermented with using Chef and Docker together in the past but wanted to tackle the problem from a slightly different angle. I’ve recently been working on some PAAS stuff, both Deis and Solum these both utilize the tooling from Flynn which builds heroku style buildpacks in Docker.

Running DEIS.IO on Rackspace Cloud

I recently did a presentation at the Cloud Austin meetup titled Docking with Unicorns about new PAAS on the block DEIS. Building out DEIS is quite easy, make more easy by some tight integration they have with Rackspace Cloud. If you’re interested in what deis is go through my slides linked above, and the documentation on their website. If you want to build out an environment to kick the tires a bit, then click ‘Read on’ below and follow me down the rabbit hole.

Managing docker services with this one easy trick

I have been having a lot of internal debate about the idea of running more than one service in a docker container. A Docker container is built to run a single process in the foreground and to live for only as long as that process is running. This is great in a utopian world where servers are immutable and sysadmins drink tiki drinks on the beach, however it doesn’t always translate well to the real world.

Examples where you might want to be able to run multiple servers span from the simple use case of running sshd as well as your application to running a web app such as wordpress where you might want both apache and mysql running in the same container.

Creating immutable servers with chef and

Building applications in a Dockerfile is relatively simple, but sometimes you want to just install the application exactly as you would normally via already built chef cookbooks. Turns out this is actually pretty simple.

The first thing you’ll need to do is build a container with chef-client and berkshelf installed. You can grab the one I’ve built by running docker pull paulczar/chef-solo or build one youself from a Dockerfile that looks a little something like the following…

Logstash + Opscode Omnibus

At DevOps Days Austin @mattray did an Openspace session on Omnibus which is a toolset based around the concept of installing an app and all of it’s prerequisites from source into a directory and then building a package ( either .deb or .rpm ) of that using fpm.

Having battled many times with OS Packages trying to get newer versions of Ruby, or Redis or other software installed and having to hunt down some random package repo or manually build from source this seems like an excellent idea.

To learn the basics I decided to build an omnibus package for fpm which helped me work out the kinks and learn the basics.


Lately I’ve been doing a lot of prototyping with Vagrant, specifically for a couple of distinct activities:-

I realized I was spending a bunch of time flipping back and forth between Vagrant environments and I had no quick way to utilize RPMs built with FPM inside my puppet modules.

Creating a Github Pages Blog With Octopress

A lot of tech bloggers will write their blog posts in Markdown, convert it to HTML and paste that HTML into their blog of choice and then in the blog’s editor clean it up to suit their blog. This is an excellent way to create easy to read portable documents that can easily be published in multiple formats.

However what if there was a way to skip the second part of that and just create a markdown page, submit it into your source control ( you do use source control right? ) and your blog would automagically update.

Running KVM and Openvswitch on Ubuntu 12.10

I’ve got an aging VMWare ESXi 4.0 server that needs to be replaced with something a little more modern and flexing. Obviously at home I don’t need all the cool features that licensed VMWare comes with, but I do want more than just the basic free version.

After a few weeks of installing and testing alternatives ( I’d really love to run openstack, but it’s just not worth it at home for a single box ) I’ve settled on Ubuntu 12.10 server running KVM and Openvswitch.

After installing Ubuntu 12.10 I did the following to get KVM up and running… I cribbed this mostly from

Moving VMs from VMWare to KVM

I’m migrating from my old VMWare ESXi box to a new machine running Ubuntu 12.10 and KVM. Not wanting to rebuild all of my VMs I set about trying to work out the best way to migrate the VMs.

Steps to make Windows migrate without Bluescreen

If you migrate a windows box it’ll bluescreen due to the shock of so much hardware changing. The following .reg hack will prevent this from happening by opening up access to a bunch of random system drivers. Copy and run the .reg file in your VM before doing any further steps.


Move your VM to shared storage

I mounted an nfs partition to vmware from my freenas box and migrated the data across using the vmware datastore tools. If you don’t have a NAS you could export a directory from your KVM server to achieve the same goal.

To move VMs in ESXi we click on the ESXi server, pick the Configuration tab, click on ‘Storage’ and then right-click on the datastore and select ‘Browse Datastore’. Select the VM folder you wish to move and click the move icon.

{% img %}