libvirt and Terraform - Finally!

Some time ago I wrote a post about the unlove that generally befalls libvirt. When I migrated my site over to Hugo I didn’t bring the post along, because it was basically a long winded diatribe about the lack of support in the devops community for libvirt. Although still not officially supported, lots of work has been done to add support to Terraform for using libvirt with the terraform-provider-libvirt project. As of a few weeks ago I got this set up and working, with relative ease I might add, and wanted to share how I got it working.
Read more →

Appending open-resolv-conf settings to OpenVPN Configuration Files

Quick bit of Python code that I came up with this evening. I was running into an issue inserting some open-resolv-conf configuration commands to the end of my VPN providers OpenVPN configuration files. These resolv-conf settings are important in order to fix DNS leaks when using a VPN tunnel. The issue was that spaces in the file name don’t play nicely when used in a simple shell script. So I cooked up this Pythonic way to do it.
Read more →

My Master Vagrant File

Vagrant is probably one of my favorite tools. The ability to quickly spin up one, or multiple, virtual machines for testing is super useful. Over the course of the last year or two really using it, I have developed what I call my “master” Vagrantfile. This Vagrantfile essentially has lots of the common things I do, with comments that allow me to easily select the things I want. For instance, options for all the different distributions that I need to test with, whether I want to provision with a shell script or with Ansible, and places for specifying multiple VMs. So I figured I would post my master file here for others to take a look at, use, or even just as a guide.
Read more →