Posts
-
Building a CoreDNS plugin
Short notes on writing a CoreDNS plugin for Nomad native service discovery
2023
-
Writing a disk-based key-value store in Golang
Implementation of Bitcask to implement a key-value database in Go -
A 2000km road trip to Rajasthan
A travelogue describing a road trip to Jodhpur and Jaisalmer -
Logging on Nomad with Vector
A brief overview of how to collect logs from different applications running in a Nomad cluster using Vector. -
Don't use which
Problems with which and its alternatives. -
Attending IndiaFOSS 2022
My experience of attending IndiaFOSS 2022 -
Debugging DNS Issues in Nomad
Debugging and solving DNS Issues when running Kafka clients inside a Nomad cluster -
My first solo road trip experience in the hills
A travelogue describing a road trip I did to Dharamshala, Himachal Pradesh -
Understanding Networking in Nomad
An overview of different networking patterns used to connect application in Nomad -
How I expose services while self hosting
This post delves into details of how I use Caddy along with Tailscale to expose public and private services
2022
-
Using ClickHouse Keeper for Replication
Setting up a multi-shard replicated ClickHouse cluster using ClickHouse Keeper. This setup allows you to setup ClickHouse cluster replication without Zookeeper. -
Breaking Software and Getting Older
Rants on why software keeps breaking so often -
Debugging issues with Packer and Ansible in Docker
A brief summary and the fix for a weird permission issue I faced while running Packer with Ansible -
Load testing with K6
A short post on how to use K6 for performing different kinds of load tests on a Go Application -
Analyzing CoreDNS logs with Clickhouse and Vector
Aggregating and transforming CoreDNS logs using Vector and dumping to Clickhouse for analytics -
How I take Notes
My note-taking system using Joplin. -
Running Nomad for home server
Setting up a single node Nomad and Consul server to deploy self hosted workloads. -
Setup Gitlab Runner with AWS ECR
How to setup Gitlab Runner with cross account AWS ECR access
2021
-
Designing a simple Job Queue in Golang
This is a tutorial for understanding how to design a Job Queue pattern using Golang -
Analysis Paralysis - CrashLoopBackoff
My frustrations on how analysis paralysis slows me down -
Migrating my blog to Zola
The reasons I ported my blog from Hugo and my first experience with Zola -
Import existing Route53 records in Terraform
A quick guide on importing Route53 records to Terraform -
Setting up a RIPE Atlas Probe
A quick tutorial on how to host a RIPE Atlas Probe and some general caveats that you should be aware of -
Monitoring my home network
Setting up a home network monitoring stack built with Telegraf, Grafana and Raspberry Pi -
Using Tailscale for home server
In this post, I'll be talking about how I use Tailscale as a mesh VPN and some updates to my previous home server setup -
DNS Lookups in Kubernetes
In this post, I'll talk about how I learnt about FQDN, Search Paths and ndots to tackle slow DNS resolution in Kubernetes -
Resize PVC in Kubernetes
Easily expand Kubernetes Persistent Volumes -
sshuttle - A better ssh tunnel
Poor man's VPN -
Use netcat for port scanning
A very quick guide to debug port connectivity issues -
kubectl wait
A one-liner command to wait on K8s resources for changes
2020
-
Introducing kubekutr
kubekutr is a cookie cutter template tool for generating Kubernetes resource manifests -
A quick primer on dig
Learn how to use dig (DNS lookup tool) effectively with practical examples -
GitOps approach to Continuous Delivery for Kubernetes
Setup a deployment pipeline using Gitlab CI/CD for continuous delivery to AWS EKS -
Intro to RBAC in EKS
A short introduction to how authentication and authorization works for EKS clusters -
Kubernetes cluster on RPi
Running k3s and self-hosting stuff on an RPi cluster -
My Personal Networking Setup
Self hosting personal VPN and DNS server -
Common Docker Mistakes - Episode 1
Sharing my Docker Learnings -
Setting up Kong API Gateway - Part 2/2
Ansible Playbook for Deploying Kong Cluster - part 2 -
Setting up Kong API Gateway - Part 1/2
Ansible Playbook for Deploying Kong Cluster - part 1 -
Adding Prometheus configuration to your CI/CD workflow
Linting Prometheus Config using Gitlab CI/CD
2019
-
Makefile for Golang projects
Using Makefile to Automate your Build Process -
Bi-Weekly Music Post Part 4
Sharing some Awesome Music - part 4 -
Bi-Weekly Music Post Part 3
Sharing some Awesome Music - part 3 -
Bi-Weekly Music Post Part 2
Sharing some Awesome Music - part 2 -
Receiving notifications from Supervisor
Listening to Events in Supervisor -
Bi-Weekly Music Post Part 1
Sharing some Awesome Music - part 1