WTF is R10K?
If you start doing any serious work with Puppet these days, you will hear people mentioning R10K frequently. It took me a while to get my head around what R10K actually does. First off, the scary sounding name has nothing to do with resistors or anything too technical. The name...
REST Cheat Sheet
Example service URI https://foobar.com/collection/element Interface Verb Collection Element Success code GET List Representation 200 OK POST Create element with system assigned URI Not used 201 CREATED PUT Replace collection Replace element 201 CREATED DELETE Delete collection Delete element 204 NO CONTENT OPTIONS Describe interface Describe interface 200 OK HEAD Metadata...
Puppet Directory Environments
Puppet directory environments vs config file environments Puppet has allowed “environments” in the puppet.conf file for a long time but there’s now a new way to create environments using a simple directory based approach called “directory environments”. Directory environments are thankfully really easy to setup Configuration Out of the box,...
MCollective Traffic Analysis
MCollective Traffic Analysis This article describes the steps I took to perform traffic analysis on the Puppet Marionette Collective/ActiveMQ messaging system using wireshark and Linux commands. Method Use wireshark on the virtual network interface to perform live packet capture, then analyse the conversation after logging into the console and performing...
Installing R10K in Puppet Enterprise
This is the ‘Hard Way’ of doing an R10K install for a new Puppet Enterprise system. If you want to go the ‘Easy Way’ there is an R10K module on Puppet Forge which does all this work for you. For this exercise, I’ve chosen to do things the hard way...
Puppet Environments in-depth
Once your up and running with R10K, your environments are ready to use. You can associate a node system with an environment in one of the following ways: puppet.conf You can request an environment in the [agent] section of puppet.conf by editing the environment= line. This defaults to ‘production’ command...
dem2stl
dem2stl is a simple python script to convert digital elevation maps in image format into STL format for 3D printing. Code is available on Github under a GPLv2 licence Example object
OOMs in Puppet
Out of memory errors can sometimes happen on your Puppet Master server when you haven’t allocated enough RAM or swap to the VM your running it from (as I had - whoops). Unless you know what your looking for, you can spend hours investigating mysterious failures and strange tweaks that...
JXML Validator
JXML Validator provides an easy command line and GUI interface for validating XML files to all schemas defined in the document. This is really useful if you have very complicated XML and simply want to check if its valid or not, as is often the case with OGC Web Services....