Using GitHub Environment Files for Actions Workflow Outputs

Using GitHub Environment Files for Actions Workflow Outputs

For one of my side projects, I use GitHub Actions to build and deploy my various microservices to Azure. In my workflows, I’ll often retrieve a value (such as getting the name of a container registry), and use the set-output command within my pipeline so that I can use the value of that output further down my pipeline. This is an example of what using the set-output command would look like in your GitHub Action workflow: ...

January 6, 2025 · 4 min · Will Velida
Building a token refresh service for the Fitbit API with Container App Jobs

Building a token refresh service for the Fitbit API with Container App Jobs

A couple of years back, I built a Fitbit API token refresh service using Azure Functions. The purpose of that function was to refresh an access token that I can use to make calls to the Fitbit API and extract my own data using Azure Functions. This was before Azure Container Apps even existed, so Azure Functions was really the only option. WebJobs was an alternative (after all, Functions are essentially built on top of Azure WebJobs), but that wasn’t attractive since this was just an hobby project, and I didn’t want to break the bank. The problem with Azure Functions is that you’re restricted with the programming model. It’s fine if you just need the plumbing done for you for simple integrations, but if you want the flexibility, it’s not great. ...

December 12, 2024 · 12 min · Will Velida
How to purge stale images from Azure Container Registry with ACR Tasks and GitHub Actions

How to purge stale images from Azure Container Registry with ACR Tasks and GitHub Actions

Cleaning up stale images (images that you’re not using) from your Azure Container Registry is important for a couple of reasons. First off, storing images in ACR isn’t free. Even with the Basic SKU, once you go past your 10GB limit, you end up paying $0.00516 AUD (at the time of writing) per GB of additional storage. If you have container images that are just sitting there not being used, it’ll waste money and second, it’ll be difficult to manage your images. ...

December 6, 2024 · 9 min · Will Velida
Integrating Azure Policy in your AKS cluster

Integrating Azure Policy in your AKS cluster using Terraform

As part of my AKS lab, I wanted to see how I can enforce compliance on workloads and my AKS control plane so I get into the habit of creating secure and compliant sandbox environments. We can achieve this with Azure Policy! So in this article, I’ll cover: What Azure Policy is. How it integrates with Azure Kubernetes Service. How we can enable Azure Policy for our AKS cluster with Terraform How we can apply and test policies to our AKS Cluster How we can check the overall compliance state for our cluster in the Azure Portal. What is Azure Policy? Azure Policy allows us to manage the state of compliance of our Azure services. It compares the state of your resources to the business rules that you define in Azure Policy. This can include enforcing resource tags on your resources, limiting the types of services you can use in Azure and where you can deploy them. ...

November 8, 2024 · 8 min · Will Velida
Installing the Dapr extension for Azure Kubernetes Service with Terraform

Installing the Dapr extension for Azure Kubernetes Service with Terraform

As part of the AKS cluster that I’m building for my personal development, I decided it be worthwhile installing the Dapr extension on my cluster. AKS extensions provide an Azure Resource Manager driven experience for installing and managing different services like Dapr on your cluster. Since I built my cluster using Terraform, I decided to configure the Dapr extension using Terraform as well. In this article, I’ll talk about how we can configure our AKS cluster so that we can install extensions on it, How the Dapr cluster extension works, and then I’ll explain how we can configure our Dapr extension in Terraform. ...

October 1, 2024 · 5 min · Will Velida