Blogs

Working through a challenge, and can’t quite solve it? Think it could make a good blog post idea? I’d love to hear!

Make a suggestion over on the cloudwithchris.com GitHub repository.

Using the GitHub self-hosted runner and Azure Virtual Machines to login with a System Assigned Managed Identity

I recently started thinking about the typical setup process for a GitHub Action Workflow which will deploy into Azure. Typically, the process is to use the Azure/login GitHub Action, and then use the azure/cli or another Azure GitHub Action to deploy into GitHub. This is a nice approach. However, from my initial research - I wasn't able to see a way use the Azure/login GitHub Action to deploy into Azure using a System Assigned Managed Identity. This got me wondering, is this possible?

June 14, 2021
Using Azure Arc for Apps - Part 2 - Deploying App Services to Kubernetes

In part 1 of this Using Azure Arc for Apps series, we explored Azure Arc and Azure Arc enabled Kubernetes clusters. In this post, we'll be exploring App Services on Azure Arc. More specifically, these application services run on an Azure Arc enabled Kubernetes cluster, which is a pre-requisite for us to progress. At time of writing, this approach is in public preview, so we may see certain limitations / features that are not yet available.

June 1, 2021
Using Azure DevOps and Azure Virtual Machine Scale Set Agents to deploy your private workloads

A little while ago, I wrote a blog post on Using the GitHub self-hosted runner and Azure Virtual Machines to login with a System Assigned Managed Identity, which seems to get a good amount of views week on week. Reflecting on some questions that have popped up this week (and regularly received over my time in the DevOps space), I thought that it makes sense to write a post on how to use Azure DevOps self-hosted agents to deploy to private resources. So, that's what we'll be covering in this post!

October 8, 2021

Latest Blogs

Interfaces in Go

In this post, I’ll be talking about how to use interfaces in Go. This is a continuation of my learning using the Go language. I’ll use interfaces to create an application that interacts with several types of bank accounts.

Blog

May 16, 2022
Using GitHub Actions to summarise your Go tests

GitHub recently posted about a new GitHub Action that can be used to summarise your test results. The action is called test-summary/action, available at github.com/test-summary/action. There are several examples on how to use the action at github.com/test-summary/examples. However, there were no examples on how to use this with Go. I contributed a pull request which showed how to achieve this. In this post, I will show how to use the action with Go.

Blog

May 16, 2022
Go Pointers - Using the & and * operators

I’ll be transparent. The purpose of this post is to help with my own understanding of the Go & and * operators. It’s going to be a very short post, and I’m going to try to explain the concepts in a way that I can understand. I’ve used these operators in C previously, but whenever I’m using them - I always end up having to remember the syntax / which operator is which / what they do. For whatever reason, it doesn’t always come intuitively to me.

Blog

May 1, 2022
Enqueue and Dequeue messages locally with dapr, Azure Service Bus and Azure Storage Queues

In a previous blog post, I provided an overview of the Distributed Application Runtime (dapr) and explained how it is a useful framework when building microservices. In this blog post, I will show you how to use dapr to enqueue and dequeue messages locally with Azure Service Bus and Azure Storage Queues.

Blog

April 26, 2022
Set up your Go development environment with Visual Studio Code and Windows Subsystem for Linux (WSL)

Over the past few weeks, I have been working on a new set of pet projects. I’ve wanted to learn Go for a while, so I thought this could be a great opportunity to get hands on and try it out. It’s fair to say that my development environment was ‘functional’, but I wanted to revisit it to make sure that I could get the best out of it. In this blog post, I’m going to walkthrough the process of setting up Go on my machine, and then the experience of using Visual Studio Code and Windows Subsystem for Linux (WSL) with Ubuntu.

Blog

April 26, 2022
Using GitHub Actions, Azure Functions, Azure API Management and Google Analytics to display top posts on a Hugo Static Site

In this post, I show how I use GitHub Actions to call an Azure Function (through Azure API Management) that interacts with Google Analytics as part of the process to build my Hugo Static Site. The end result is that top posts are pulled into the Static Site Generation build process, rather than calling the Google Analytics API through JavaScript at runtime.

Blog

March 13, 2022
Using GitHub Actions and OpenID Connect to deploy Static Web Apps to Azure

Back in November, GitHub announced its OpenID Connect capability for cloud deployments was generally available. This has been on my list to try out, and I finally managed to get around to it! With scenarios like this, I prefer to do something real and hands-on, rather than mocked, or a proof of concept. I decided to refactor my GitHub Action workflows for cloudwithchris.com, removing the need for secrets stored in GitHub. In this post, I outline my journey through this.

Blog

February 22, 2022
Automate adding GitHub Issues to GitHub Projects (Beta) in a repository owned by a user

I recently wrote a blog post about using GitHub Actions to automatically add a GitHub Issue to a GitHub project (Beta) when the issue is opened. I received a question from my colleague and maintainer of the promitor and KEDA Open Source (OSS) Projects, Tom Kerkhove on doing the same with a user-owned GitHub repository, rather than organisation-owned.

Blog

February 10, 2022
Using RegEx and VSCode's Find/Replace capability to add captions to markdown images

If there’s an easy way to achieve something, then I’m all for it! You may have noticed that I’ve been putting a lot of effort into refactoring my site and open sourcing the original Cloud With Chris theme. I’ve now released that as the Hugo Creator theme for Hugo. As part of the refactoring process into a reusable theme, I had to make several breaking changes. This meant that I’d need to update the contents of my site. I want to share a quick tip that I discovered to add captions to my images in markdown.

Blog

February 5, 2022
Automate adding GitHub Issues to GitHub Projects (Beta) in a GitHub organisation

I’ve been following the GitHub Projects beta for a while now, and have been fortunate to be accepted as an early adopter. I’m a big fan of the direction, and the flexibility. One of the limitations I’ve noticed is that there’s currently no built-in way to automatically add an issue to a project board. It’s on the backlog, but not yet available. Fortunately, GitHub Actions has us sorted. I’ll walk you through a sample I put together to do exactly that.

Blog

February 5, 2022