Ken Muse
Why You Should Use Dedicated Clusters For GitHub ARC
GitHub ARC is a great way to run your GitHub Actions runners in your own Kubernetes cluster. ARC has its own set of requirements and best practices. One of the most important best practices I recommend is to use a dedicated Kubernetes cluster. This post will explain why.

Read this article

The Two GitHub ARCs (and Why You Should Only Use One)
I’ve been spending a lot of time helping companies to adopt GitHub ARC over the last few months. They are excited to be able to create self-hosted runners on-demand on Kubernetes. The biggest challenge many of them have is getting started, and the root of this problem often starts with realizing there are two different versions of ARC. In many cases, they started with the wrong one. This post will explain the difference.

Read this article

Enabling GitHub ARC Metrics

Enabling GitHub ARC Metrics

GitHub’s Actions Runner Controller (ARC) offers a lot of great features, including metrics. These metrics give you visibility to the processing queue as well as the performance of runners and jobs. Enabling this feature is surprisingly easy. This post will show you how.

Read this article

Automatic SSH Commit Signing With 1Password
I like having my SSH commit signing automatically configured. In a previous article, I discussed how you can do this using your dotfiles repository. If you want to add support for reading the SSH keys from 1Password, then there are just a few more things you need to know.

Read this article

Understanding the SLA of ARC
I’ve seen lots of teams trying to increase the availability of GitHub runners for their organization by implementing GitHub Actions Runner Controller (ARC). In some cases, they hope to try to exceed GitHub’s 99.9% SLA. Unfortunately, the math works against them. In this post, I’ll explain why.

Read this article

Windows Runners on Actions Runner Controller
One challenge with the GitHub’s Actions Runner Controller (ARC) is that it does not officially support Windows containers for the runners. With a little bit of work, though, it’s possible to make this configuration work on a hybrid Linux/Windows cluster.

Read this article

Automatic SSH Commit Signing With Dotfiles
With automation you can simplify many things as a developer. This includes automating the process of configuring commit signing with dotfiles.

Read this article

The Image Factory Pattern

The Image Factory Pattern

Looking to maintain virtual machine or Docker images in the most efficient way possible? Trying to build an image for GitHub ARC and needing to ensure you’re always using the latest available base image and runner? Then what you need is an Image Factory.

Read this article

Improving Dev Container Feature Performance
The support for custom features in Dev Containers is a huge improvement to the process of customizing images quickly and easily. The convenience and simplicity can have a cost – performance. Trying to customize a container using a feature recently, I struggled with an incredibly long build time. This is how I improved the process.

Read this article

Dubious Ownership With Static Web Apps
Git’s safe directory configuration helps to protect users, but it can create challenges. This is especially true when using Hugo with Azure Static Web Sites. In that case, you’re dealing with an Action that bind-mounts the source code into a container. This requires some special handling.

Read this article