GitHub EntraID Federated Credentials With Merge Queue

Huge thanks to Mani for how to get this working!

Introduction

I often have GitHub workflows that deploy resources to Azure. In the past, I have created a service principal and use the client secret to authenticate to Azure. This isn’t ideal as if the client secret is leaked then it can be used to access the Azure resources. Additionally, the client secret needs to be rotated periodically which can be a pain (yeah, I’m lazy!).

[Read More]

dotfiles tools wrappers

I’m a self-confessed fan of Visual Studio Code’s dev container experience and have a number of posts about them including a list of some of my favourite things with dev containers. I find it productive to be able to capture the pre-requisites for working with a project programmatically, and share it with others working on the project. However, there’s a feature of dev containers that I use heavily which has the potential to break this model: dotfiles.

[Read More]

Fun with WSL, GitHub CLI and Windows Notifications

Part 2: Using toast for richer desktop notifications

Introduction

In the last post we saw how to create a drop-in replacement for notify-send. This allowed us to take a script that used notify-send and run it without modification. In this post, we’ll take a look at how we can update that script to take better advantage of Windows notifications.

At the end of the last post, the notification was fairly generic as shown below:

Notification with WSL Distro as category and “Run finished” as text

[Read More]

Fun with Git for Windows, SSH Keys and Passphrases

Disclaimer: this post is one to file under “things I’m blogging in the hope that I find the answer more quickly next time”.

Background

I switched to using SSH key auth for GitHub and Azure DevOps Repos a long time ago and never looked back. For a while I was using SSH keys without passphrases but got round to adding passphrases a while back. I set up the Windows OpenSSH Authentication Agent - the service defaults to Disabled so I set it as Automatic start and nudged it to Running. (For more information, see the docs on installing Windows OpenSSH)

[Read More]