@michael I did take a look at Adguard, but I thought it was quite similar to PiHole in the sense that it uses a number of different files for configuration, and is "stateful" (ie has a database and other bits that must be persisted to disk). I liked how blocky sounds because it's stateless. Literally a single yaml config file, and that's all.
This way, you can very easily run multiple replicas of it on kubernetes. With Adguard/PiHole you can't (or at least not easily)