Posts
Thomas Stringer
Cancel

2021 - A Year of Blogging in Review

2021 was a year of many things for many people. For me, my primary personal project was to regularly write and publish technical blog posts. This will serve as a review on what I did and what came ...

Errors and Error Wrapping in Go

Errors are a core part of almost every programming language, and how we handle them is a critical part of software development. One of the things that I really enjoy about programming in Go is the ...

Unstructured Kubernetes Components with client-go's Dynamic Client

Recently I’ve written about how to access Kubernetes resources from Go, which works with structured objects. There may be times when you want to work with unstructured components though. Recently I...

Unit Testing Kubernetes Resources with Go

In the previous blog post I talked about how to connect to a Kubernetes cluster from Go. But we’re missing something here with this solution: Unit tests. These blogs posts use contrived examples (g...

Connect to Kubernetes from Go

You may have a requirement that you need to connect to a Kubernetes cluster from your Go application. Thankfully the Kubernetes team provides a way to do that with client-go. But how can you use th...

Dynamic Admission Control Certificate Management with cert-manager

The last two blog posts during this mini-series has been focusing on the dynamic admission control webhooks. Now we will finish this with talking about a powerful and simple way to deal with certif...

Create a Basic Kubernetes Validating Webhook

Using dynamic admission control in Kubernetes is a powerful way to impact what and how resources are created in your Kubernetes clusters. Last blog post I chatted about how to create a Kubernetes m...

Create a Basic Kubernetes Mutating Webhook

Kubernetes is a very powerful platform, and one of its biggest powers is how extendable it is. One of these features is dynamic admission control. What that means is that we can add custom logic to...

Dump Kubernetes Logs and Search for Errors

Kubernetes is a complex platform, and running your applications in Kubernetes adds a big layer of complexity. When diagnosing issues in your cluster it can be a difficult task to focus in on the is...

Why We Need mTLS in Kubernetes Service Meshes

One of the great features of service meshes in Kubernetes is the ability to have an out-of-the-box zero-application-changes solution that delivers a powerful security feature: mTLS (mutual Transpor...