It feels odd to complain about "tools doing black magic" when the new way is "cloud init, a tool used by a ton of infra platforms" and the old way is "drop a file in this directory and it will somehow get slurped into the right space at the right time".
Isn't cloud init just slurping its own config file, then generating the "real" config files and slurping those into the right spaces?
To me, "copies a file named wpa_supplicant.conf from /boot to /etc on first init" is simpler than "parses some yaml, the generates /etc/wpa_supplicant".
Maybe I'd find it worthwhile if I had encountered cloud init years ago before I invested in learning the other 900 linux networking configuration tools, but now it just feels like a case of XKCD 927 (+1 competing standards). If cloud init is even better, it definitely doesn't seem 10x better to be worth the change.
Cloud init is a tool with documentation and a file format for config, that’s used all over the place.
I’m not making the case that it’s better, just that it’s no more “black magic” than wpa_supplicant’s config file is, and it’s less magical than dropping a wpa_supplicant file into /boot and the raspberry pi doing a bespoke RPi-specific shuffle to move it into place.