’m pretty sure that everyone has at some point experienced this mixed feeling of disbelieve and confusion when looking at code that was written weeks/months or years ago realizing that you have no idea what the code was meant to do. We develop and apply a lot of patterns and techniques to prevent this situations from happening but keep on forgetting that someone, somewhere sometime has to turn our sourcecode into a working application and deploy it somewhere, or even better: continue developing it. [Read More]

Kubernetes on (almost) bare metal

This is an older post that has been in the queue for several months. Kubernetes has released several new versions with new features in the meantime, so please keep this in mind when reading this post. The post will give a rough overview of what Kubernetes is and take a direct dive into setting up a working Kubernetes cluster (don’t worry I prepared a little something for you, it is barely more then typing vagrant up into a console) so lets start: [Read More]

Testing your infrastructure code

A while ago I wrote an Ansible role for deploying Spring Boot applications to an Ubuntu 14.x system. The role was put into action, time passed and when I needed the role again, Ubuntu 16.x was en vogue and (of course) the role failed on the 16.x system. To prevent this from happening again in the future, and because I want to make that role publicly available, I somehow had to ensure that the role works reliably across all major distributions. [Read More]

Jenkins piplines as code

When it comes to creation of jobs, Jenkins has in the past been a quite UI heavy continuous integration integration tool. Several plugins strive to retrofit the ability to store Jenkins jobs as code but (at least to me) none of them had a very convincing approach to this problem. A common approach to tackle the problem is the generation of job definitions config.xml using some sort of templating system but to be honest generating XML never lead to anything good =). [Read More]

Hello Hugo!

The old blog is gone (well not gone, but no longer visible). The relevant part of the old content may or may not be converted at some point in time. [Read More]