Get the changes since the last Release in Azure DevOps

A request came by me to: Get all the commits associated to a specific release, based on the previous succesful release. The fun thing is, we’re using Azure DevOps. Easy right? Well, that’s what I thought, because this information is readily available in the web interface of Azure DevOps. As the saying goes: We do things not because it is easy, but because we thought it would be easy! This phrase applies to the above request. Read more →

Use Azure API Management (APIM) to rewrite a response

Have you ever been on a project where an API returns a response that you can’t, or don’t want to, handle in your own application? Or a customer asks to generate a different response? Yeah, me neither… If you ever come across a project, where they want you to return a response like this: HTTP/1.1 200 OK Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/json Date: Wed, 10 Jan 2024 20:59:21 GMT { "error": 404, "status": "NotFound", "description": "Could not find the object" } This post is for you! Read more →

Adding Open AI to an existing solution with Semantic Kernel

For those of you who are reading my posts from time to time, you probably know one of my side projects is a URL minifier solution. It’s one of those services which I’ve created to learn about specific Azure services. I’m still making improvements to it and sometimes adding new features to it altogether. With the focus on AI and large language models in just about everything nowadays, it is time for me to add it to the URL minifier too. Read more →

Running Home Assistant with Zigbee2MQTT on Synology NAS in containers

For those of you who are following me on Twitter, you might have seen my Philips Hue bridge was acting up in the past couple of months. Major bandwith usage, automations not being triggered at the appropriate times, and even the internet connectivity wasn’t working anymore. The bridge is also about 14 years old, so it might have been its time to shut down. A relative cheap solution would be to buy a new Philips Hue bridge and set that up. Read more →

Using deploymentScripts to do additional IaC work

Most people who are professionally working with any of the cloud providers use some kind of infrastructure-as-code solution. For Microsoft Azure, I’m mostly working with ARM- or Bicep templates to describe the resources necessary. While I’ve written ARM templates for years now, I’m enjoying creating Bicep templates a bit more due to the tooling it offers. There is at least one downside to using these solutions, and that’s the fact most operations are happening on the Azure control plane. Read more →

Merging ARM Templates using PowerShell

For a project I’m working on we have a massive ARM template and I had to add some stuff, deployment scripts, to it. While I still have enough love for ARM templates to work with it, creating & deploying big deployment scripts with isn’t a great experience. However, with Bicep I can create (and debug) the script in a proper PowerShell file and load it in the Bicep template using the loadTextContent function. Read more →

Create a Service Principal to create and manage other Service Principals

When you need to work with service principals in your Azure environment, you are probably creating them via some script using the az ad sp command. This works quite well, but these are created with your account. The account you used to log in with the Azure CLI. The same goes when using PowerShell, it’s always running in the context you used to log in. Most of the time your personal or environment administrator account. Read more →

Creating a native Teams app with Dataverse integration

I’ve been working with the Power Platform for a couple of weeks now, and I’m pretty impressed by the functionality it offers. Lots of scenarios can be covered by using these tools as a frontend for applications we need to serve to our customers, and there’s also a very nice integration with Microsoft Teams! However, there’s always this special little snowflake that can’t easily be accomplished within a Power App. The keyword over there is ’easily'. Read more →

Use multiple GitHub accounts a single machine

It so happens a lot of people are mixing their work- and personal development machines, especially when doing side projects in their spare time which are somewhat work-related. At least, this is the case for me as I’m using GitHub both for work & personal stuff nowadays. On my personal machine, I’ve set up Git to work with my personal e-mail address & SSH keys. On my work machine, I’ve set it up to run with my work account. Read more →

Manage Azure Container Instances in Azure Functions based on running pipelines in Azure DevOps

In my previous post, I wrote how to create & host private build agents for Azure DevOps running in Azure Container Instances. One of the reasons for doing so is to eliminate creating build agent VM’s and performant pipelines for my side projects. But, of course, the build agents also need to be as cheap as possible. Azure Container Instances have per-second billing, which is excellent for build agent containers. Read more →