I am a Cloud Infrastructure Engineer at Pusher, administering Kubernetes on a day to day basis. Currently focused on building extensions to Kubernetes in the form of custom resource controllers.

This blog is where I collate all of my blog posts, talk recordings and podcasts and give details about the projects that I have been working on.

Oh Sh*t! The Config Changed!

Oh Sh*t! The Config Changed!

I flew out to KubeCon + CloudNativeCon Europe 2019 in May to give a lightning talk about Wave, an open source Pusher project.

This talk explains the origins of Wave, the problem we had at Pusher and how Wave solves the problem.

Read More…
KubeCon: Single Sign-On for Kubernetes

KubeCon: Single Sign-On for Kubernetes

I flew out to KubeCon + CloudNativeCon North America 2018 in December to give a talk on Single Sign-On for Kubernetes.

This talk was inspired by three articles that I originally wrote for The New Stack.

Read More…
TNS Context: KubeCon Preview and Kubernetes Custom Controllers

TNS Context: KubeCon Preview and Kubernetes Custom Controllers

The New Stack kindly invited me to join them for an episode of their Context podcast. Each week they discuss with popular topics with a contributor and get to have a deeper discussion about the contributors work.

This week I discussed my experience with building custom controllers for Kubernetes and what I look forward to at KubeCon + CloudNativeCon North America 2018.

Read More…
Solving Kubernetes configuration woes with a custom controller

Solving Kubernetes configuration woes with a custom controller

Ensuring that configuration is up to date is difficult with any infrastructure; With Kubernetes and the lack of versioned ConfigMaps, this problem is amplified.

At Pusher, we have a number of applications that can’t dynamically reload their configuration. Over the last two years, this has caused pain for our engineers and made deploying new configuration hard.

In this post I explore our new project Wave and how we solved the problem of ensuring that our application’s running configuration matches the desired configuration.

Read More…