Mostly Interesting

Bash Notificaiton

I haven’t updated the blog in ages and I think it’s about time that I wrote a post. I’m forever running commands that take forever to complete, I forget about them and only release they have complete once I cycle through all the windows in my tmux session. To overcome this, I wrote a super simple function that sends a desktop notification once the command completes. It also returns the exit code of the command rather than the exit code of notify-send.

Serverspec and Vagrant

I have recently started using Serverspec to test my Puppet modules actually produce the required configuration on real servers. In order to do this I have been using Vagrant and ServerSepc. The only problem is that Vagrant uses random ports and non standard SSH keys. In order to overcome this I have made a spec_helper that pulls the required information directly form Vagrant.

Update this has been merged with Serverspec

Hiera Can Do Anything

I have been meaning to write this Blog post regarding using Hiera as sort of an ENC for a very long time but I have never got round to it. Until On a recent trip to Melbourne I suffered from jet lag so finally got round to writing it.

PuppetCamp Amsterdam

I was asked to give a demo at PuppetCamp Amsterdam and luckily it went down rather well. Over 150 people attended and I had an amazing time, as well as meeting some amazing people. The slides for the talk I gave are below:

Puppets Security and Inheritance

After talking to a follow Puppetlabs employee Chris and reading a blog post he has been writing about security issues related to class inheritance.

This got me thinking about ways to protect your code base against this. The following blog post explains the problem as well as a hackish method to try to protect yourself against it.

Melbourne PuppetCamp

I was asked to give a talk at PuppetCamp Melbourne and luckily it went down rather well. Over 200 people attended and I had an amazing time, as well as meeting some amazing people. Hopefully I will be able to make another PuppetCamp this year. The slides for the talk I gave are below:

Insecure Puppet Design Patterns

After using facts to designated classes and data to nodes for a number of years I recently released this could actually be a major security issue. In order to understand the problem we must firstly cover a few thing related to how facter works.

Please see update

Hiera Debug


After working with hiera from time with every growing code bases i have decided to write a super simple function. Hiera_debug this will allow the user to create a log file with information regarding each hiera lookup. This has allowed me to find out where in my manifests i am looking up variables and what they are return on each run. Its a very simple wrapper function for hiera that will output debug information into $logidr/hiera_debug_stephensmacbook. This file will be overwritten on every puppet run.