Cloudflare Tunnel Operator: Architecture

Quick Look Repository: Stats: Initial Approach: Ingress Controller I started out with a simple goal in mind that expanded a lot as I proceeded to code it. I wanted to build an Ingress Controller that does just one thing. It should read the annotations from my Ingress Resources, look at the ConfigMap and the target domain and modify the ConfigMap to add the target domain to it....

January 21, 2022 · 4 min · Adyanth H

Building a Kubernetes Operator: Why and How

Motivation The one source of trouble I have with Cloudflare Tunnels is that I cannot have a wildcard or a dynamic way to add and remove services. I needed to SSH into the server, edit the configuration file by hand and restart the service. Not done yet, I needed to copy the configuration changes and make the same on the other redundant server running on a backup ISP link. Still not done, I needed to add an entry on the Cloudflare Dashboard CNAMEing the hostname to the tunnel’s domain....

January 21, 2022 · 5 min · Adyanth H

Migration from Compose to Kubernetes

Background If you have read my previous posts, I actively deploy and maintain multiple services for personal use, running from my home, accessible securely from the internet. I use docker-compose to keep all the 40+ services running smoothly. It works fine but is not a perfect way. If one of the containers goes down and becomes unhealthy, I would not know until I tried to access the service, but it was not....

January 20, 2022 · 2 min · Adyanth H

Docker Desktop Replacement: macOS Editon

Motivation Docker recently updated its terms making the Docker Desktop for macOS and Windows free only for personal use. Any business with more than 250 employees or more than $10 million annual revenue needs to buy its Docker Business subscription. For me, the Docker Desktop was already a hit and a miss. It was great when it worked but a pain to troubleshoot when it did not. Also, it does not bode well when they make software based on open source tools paid after it was free for a long time....

January 8, 2022 · 8 min · Adyanth H

Cloudflare for Everything

I have written before about how I have used Tailscale, a magical tool to set up Wireguard tunnels to create an overlay network called Tailnets. I have also written about how I host all of my services to be publically accessible using Cloudflare Tunnels (fka Argo Tunnels). But I recently discovered that the ~20MiB binary of cloudflared can do a lot more than just run tunnels. Here is how I used most of the newly discovered features....

January 1, 2022 · 3 min · Adyanth H