Super thin reverse proxy with YARP and Refit

by Karl Solgård

Discovering technology that perfectly aligns with our needs is always exhilarating. YARP, a Microsoft creation, is one such gem, especially when it comes to managing requests through a proxy. This article delves into integrating YARP with Refit to create an efficient reverse proxy setup. What is a Reverse Proxy? Before…

Moving from AAD Pod Identity to Workload Identity in AKS

by Karl Solgård

Managed identities are a good way to avoid secrets and enhance the security of your application. Workload identity provides a means to connect your AKS cluster to managed identities. The previous method of connecting these identities to AKS involved installing AAD Pod Identity in the cluster and using CRDs (Custom…

Snakes on a Cube - A journey with Raspberry Pi and LED screens

by Karl Solgård

With a new year beginning, I can sit back and reflect on the amazing things that happened last year. One of my favorite things is making the snake game on the Raspberry Pi.…

Using NDepend to uncover code smells

by Karl Solgård

Code quality should be a high priority for a coder. NDepend is a tool that helps coders to sniff out the smells in their code. After a friendly chat with the NDepend's author, Patrick Smacchia, I got started using the tool on my projects. Installation on Linux The…

Secretless access to Azure services in AKS using Token Credentials and managed identity

by Karl Solgård

Phew, that's a mouthful! Working with AKS sometimes is. However, I can assure you that this approach to securing your applications in your Kubernetes cluster is worth it. The advantages to have a secretless solution are many: * No secrets are lost in the wild 🐅 The need to send…

Watering herbs with Raspberry Pi - Smart irrigation system made with sensors and Azure IoT Central

by Karl Solgård

I saw an ad for self-watering plant pots a while ago - and I thought it looked pretty neat. As I looked at the hefty price of 4.000 NOK for the system, I thought to myself that it would be cheaper and more fun to make my own with…

How to work with lists in .NET dependency injection

by Karl Solgård

After posting a tweet about passing multiple interfaces into the .NET service container and resolving the services as an IEnumerable in the constructor, I thought it would be a good idea to write more about it in detail.…

How to save and deploy Azure alerts as code in Bicep

by Karl Solgård

Bicep is the new kid on the block when it comes to IaC (Infrastructure as Code). It ties closely with ARM-templates. It's flexible and easier to use and read than ARM. Alerts can be hard to keep track of in a IaC setup. Let's try to…

Migration from boolean to string value using mutations in Sanity

by Karl Solgård

Sanity [https://www.sanity.io/] has a great way to migrate data. I found myself converting a boolean property to a string in a sanity document. My boolean property acts as a feature toggle that I now want to extend to beta users. I'll do my examples as…

Azure app configuration with no secrets using Azure managed identity

by Karl Solgård

Some applications have secrets. Sometimes secrets lie in the app settings. If these gets in the hands of someone evil, it could have dire consequences. We don't want to deal with these app settings at all! That's where TokenCredentials and managed identity comes in!…