Video: My Entire Neovim + Tmux Workflow As A DevOps Engineer On MacOS

I鈥檝e just released a comprehensive video delving deep into my Neovim setup and command-line centric workflow. This video is a response to the curiosity of my YouTube subscribers. It鈥檚 an all-inclusive guide from A to Z, detailing the rationale behind my configuration choices. I鈥檝e spent years perfecting my workflow and this video has been several months in the making, so I鈥檓 excited that I can finally share it with you. ...

January 21, 2024 路 Mischa van den Burg

Wrote A Go Program That Posts To Mastodon

This morning I had some fun writing a Go program which takes the latest blog post from my RSS feed and posts it to Mastodon. It is based on my twitter cli I wrote a while ago. It was fun to write some Go again, it has been far too long. I鈥檝e been writing mostly Terraform and yaml recently and working a lot with infrastructure. I haven鈥檛 been doing any projects at home that required programming. But recently I started up my personal blog and completely re-architected my social media setup. ...

December 24, 2023 路 Mischa van den Burg

Implementing Pod Disruption Budgets

When I was doing the first round of AKS cluster upgrades at my current client, I noticed we were running a lot of pods with only 1 replica. I always try to lift my clients to the next level by leveraging Cloud Native technologies as much as possible. I鈥檓 therefore starting a project to always run applications with multiple replicas. However, running multiple replicas is not the only necessary improvement here. Even though a pod is running with multiple replicas, that does not mean that Kubernetes will always keep them alive. When you do an AKS cluster upgrade, nodes are drained one by one and the pods are moved to a node with the higher k8s version. Technically, when draining a node, Kubernetes could kill both of the pods at the same time if they are running on the same node. ...

November 27, 2023 路 Mischa van den Burg

Test Driven Development for Bicep is In The Works!

During the Bicep Community Call of July 2023 I was introduced to the new experimental testing framework that the Bicep team is working on. After learning the fundamentals of the Go programming language I saw the value of test driven software development, and it will be an advantageous improvement if we can start applying this methodology to Infrastructure as Code as well. Test driven software development is a software development practice that involves writing unit tests before writing the actual code, and then refactoring the code to pass the tests. Some of the advantages of test driven software development are: ...

August 3, 2023 路 Mischa van den Burg

Video: Deploying MkDocs To Azure Using With Azure DevOps

In this video, I will walk you through the following steps: Set up a repo in Azure DevOps with MkDocs files Set up a Static Web App in Azure portal and link it to the repo Configure the Azure DevOps pipeline for MkDocs deployment Configure a custom theme for the website Demonstrate the pull request workflow for updating the docs By the end of this video, you will have a fully functional MkDocs site hosted on Azure Static Web Apps. You will also learn how to use Azure DevOps and Static Web Apps to collaborate on your documentation projects. ...

July 28, 2023 路 Mischa van den Burg

Video: Deploying AKS Cluster With Azure CNI Using Bicep

In this video, I will show you how to use Bicep to deploy a Kubernetes cluster with custom network settings using the Azure CNI. Azure CNI allows pods to be assigned IP addresses from Azure VNets which allows them to communicate with Azure resources directly through peered networks. ...

July 9, 2023 路 Mischa van den Burg

Wrote A Script To Delete All Resource Groups In An Azure Subscription

In the Azure portal you can鈥檛 select multiple resource groups for deletion. I have a sponsored subscription to play around in which I sometimes wish to clean completely. I wrote this script to delete all resource groups using bash. #!/bin/bash # script to delete all resource groups in a subscription using Azure CLI # get the current subscription name to confirm subscription=$(az account show --query name -o tsv) echo "Use this script with caution!" echo "You are about to delete all resource groups in the subscription: $subscription" # prompt for confirmation read -p "Are you sure? (y/n) " will_delete if [[ $will_delete == [Yy]* ]]; then echo "Deleting resource groups..." groups=$(az group list --query "[].name" -o tsv) # Loop through each group name and delete it for group in $groups; do az group delete --name "$group" --yes --no-wait done echo "All resource groups have been deleted." exit 0 fi echo "Exiting without deleting any resource groups." echo "Probably wise." Links: 202307081507 ...

July 8, 2023 路 Mischa van den Burg

How To Generate Random Strings In Bicep

In this video I explain how to generate random strings in Bicep and demonstrate a couple of deployments. I use the uniqueString function combined with the utcNow function. But the caveat is that you can only use it as a default value for a parameter, as follows: ...

July 2, 2023 路 Mischa van den Burg

Video: Finishing Pipeline Setup & Working on KeyVault Template - Azure Kubernetes Lab Series

Finish deploying keyvault using pipeline Get the random name generation to work Lessons Learned Subscriptions need to be registered with resource providers, apparently https://learn.microsoft.com/en-us/azure/azure-resource-manager/troubleshooting/error-register-resource-provider?tabs=azure-cli acccesPolicies are mandatory on KeyVaults, but not when RBAC is enabled Assign contributor role to Azure DevOps service connection to be able to create resource groups from pipeline Achieved Setting up connection between pipeline and Azure subscription Assign correct rights to the service connection so it is allowed to deploy new resource groups (and other resources) Learned about provider registrations Made progress on creating unique names for resources Successfully deployed new resource group and key vault from the pipeline Next time: Look into random string creation with utcNow ...

June 30, 2023 路 Mischa van den Burg

Video: Setting Up A Simple Azure Pipeline To Deploy A Keyvault

Write KeyVault template Write pipeline code set up Azure DevOps pipeline Lessons Learned Always make sure to use az deployment group instead of az group deployment Because it has older Bicep version and will be deprecated Make sure to be in correct Directory to be able to sync subscriptions for service connection Links: 202306302206 ...

June 30, 2023 路 Mischa van den Burg