Most Popular Blog Tags


1 week ago New!
setup os dotfiles ansible golang

Automating OS Go Binary Installation and Management with Ansible

3 min read

I use Ansible to manage my entire OS setup, with a playbook that installs all necessary software, sets up my dotfiles, and configures my system. This playbook can be run on a fresh installation of my OS and have my …


2 weeks ago New!
hpa mixin grafana monitoring karpenter pdb prometheus kubernetes vpa

Comprehensive Kubernetes Autoscaling Monitoring with Prometheus and Grafana

7 min read

The kubernetes-mixin is a popular resource for providing excellent dashboards and alerts for monitoring Kubernetes clusters. However, it lacks comprehensive support for autoscaling components such as Pod Disruption Budgets (PDB), Horizontal and Vertical Pod Autoscalers (HPA, VPA), Karpenter, and the …


2 weeks ago New!
django channels async testing pytest

Mocking ASGI Scope in WSGI Requests when Testing Django Async Views

3 min read

Django channels are great for asynchronous views, but they can be a headache to test. This is due to the incompatibility with database transactions and all the side effects that the incompatibility produces. For example, the common pattern of rolling …


2 weeks ago New!
jsonnet mixin grafana monitoring prometheus kubernetes kube-state-metrics vpa

Configuring VPA to Use Historical Metrics for Recommendations and Expose Them in Kube-state-metrics

5 min read

The Vertical Pod Autoscaler (VPA) can manage both your pods' resource requests but also recommend what the limits and requests for a pod should be. Recently, the kube-state-metrics project removed built-in support for VPA recommendation metrics, which made the VPA …


6 months ago
django logging python scrapy

Custom Python Logging For Scrapy

3 min read

Scrapy is a great web scraping framework, but it lacks a good logging setup. In this short blog post, I'll show you how to use Structlog with Scrapy.


7 months ago
jsonnet mixin grafana monitoring prometheus sre ingress-nginx nginx

Ingress-Nginx Monitoring with Prometheus and Grafana

4 min read

Ingress-nginx provides an easy integration with Prometheus for monitoring. However, it can be challenging to get started with monitoring Ingress-nginx and creating dashboards and alerts. Therefore, I've created a monitoring mixin for Ingress-nginx which will provide Prometheus alerts and Grafana …


8 months ago
django channels asgi websocket daphne

Deploying a Django Channels ASGI Server to Kubernetes

6 min read

Django channels is great for adding support of various network protocols as WebSockets, chat protocols, IoT protocols and other. It's a great way to add real-time functionality to your Django application. To use channels however, requires you to deploy an …


8 months ago
devex admin shellx channels asgi django websocket terminal console

Adding a Shell to the Django Admin

3 min read

Django's admin is an amazing batteries-included addition to the Django framework. It's a great tool for managing your data, and it is easily extendable and customizable. The same goes for Django's ./manage.py shell command. If we were to combine these …


10 months ago
devops jsonnet vault env devex tilt

Sharing Development Secrets with the Team using Vault

4 min read

My most recent projects have consisted of using a microservice architecture and multiple third party services (analytics, events etc.). For better or worse, this seems to be getting more popular, even for smaller companies and startups. Local development becomes more …


1 year ago
jsonnet argo-cd mixin grafana monitoring prometheus sre

ArgoCD Monitoring with Prometheus and Grafana

5 min read

ArgoCD has by default support for notifying when an Application does not have the desired status through triggers. For example, when an application becomes OutOfSync or Unhealthy, a notification is sent to your configured notification service (e.g. Slack). This was …