Skip to content

Patrick Kerwood

Creating Kubernetes CRDs with Rust

You can extend Kubernetes with your own custom objects, but before you can do that you will need create a Custom Resource Definition so that Kubernetes knows what the object is allowed to look like. In this post I will create a very simple Kubernetes CRD for a Book kind using Rust and kube-rs.

Setup Google Cloud Workload Identity in GKE

Using a Google service account in your GKE cluster is easy, just create the credential file, apply it as a secret and it's ready for use. But now you have a long lived credential that, if compromised, can be used from anywhere any time. Instead you can use a Kubernetes service account and Google Workload Identity to authenticate to Google Cloud. No need for credential files anymore.

Signing a Certificate with a CA

In this post I will use OpenSSL to create a Certificate Authority key pair, a certificate private key with a Certificate Signing Request with Subject Alternate Names and lastly I will sign the CSR with the CA.

Creating Azure App Registrations with Terraform

In this blog post I will introduce a Terraform script I have created for managing Azure App Registrations. The code supports two different kinds of App Registrations, one for user logins with groups assignments and one for services which includes adding App Roles and API Permissions.

Setting up Netbox with Pomerium

This post is a how-to on setting up Netbox with Docker Compose. In this example I will put Pomerium in front of the WebUI to be able to use Azure an Identity Provider and utilize Netbox's remote auth feature to auto create users that Pomerium grants access to.

Power cycling a HP server from Discord

My son has a HP Proliant G8 at a remote location that he uses for his Minecraft servers, it's a bit of a beast and consumes quite some power. I wanted to turn it off each night but needed to figure out an easy way for him to turn it on again. For that I used Discord and HP's Integrated Lights Out.