Just tried to over-engineer my blog, and it seems exhilarating to me. There are a few things that i implemented:

  • with the help of my friend, i ried to set up the local SSL network with caddy’s reverse proxy and Cloudflare. The setup was quite straightforward but needed some tweaking and Homelab (like using the raspberry pi and pi-hole as the DNS server)
  • next step: implementing DNS over TLS with CoreDNS. This part makes me start to think that “i’m an idiot”-moment, since the DNS server could communicates directly without going through the pi-hole first and then continuing upstream to dnscrypt-proxy. Although this approach also eliminates the need to maintain two different apps or services, but it still makes me wonder, “why do i need to set up the pi-hole in the first place”, but yeah, never mind. wisdom gained
  • the third experimentation was sort of how to reduce the static assets on the web server with the combination of nginx and thttpd (again, this is the “over-engineering” things that i mentioned earlier, since i just set 2 reverse proxies without knowing what’s the reason behind it or what the hell is going on right now)
  • and finally, after discussing and researching with my friends, i plan (probably next week or this week) to over-engineer my blog with less than 10 unique users per month to the next level and wrap it around Kubernetes multi-cluster with Argo-CD. The main reason is this: last week, i started to add new analytics services using Umami (and honestly, it was great tools rather than GA4), but the problem is that Umami needs to host a database to record all of the data, so instead of configuring the multiple clusters manually (where i put all of each services like database, load balancer, and so on), i just want to make the configuration automatically updated from single sources

tl;dr: don’t over-engineer or add another layers of complexity to things that are related to the work, just do it on your personal projects. lol