I've been using Mailu (https://mailu.io/) for years and have had no problems. I love that it has the concept of domain admins so that people can manage mailboxes for their own domains. DNS isn't automatic, but meh. Upgrading is easy (Docker + automatic migrations).
7A doesn't sound right for a full rack. Each rack has its own breaker and those are 15A at the smallest. I suspect the 7A was for a half-rack deal, though those are extremely rare for HE.
Once upon a time I wrote a DNS zone sync shell script. It was great, and terrible. Truth is, it should never have been a shell script. I used curl to make API calls to Oracle (then Dyn), awk to turn API output into the local zone format, sorted the local and remote zone data, diff'd them, then more curl'ing to make the updates. It was brilliant then-- now, not so much.
That's funny it reminds me a lot of an awk script we used to use to push zone files... when I worked at domain name registry in New Zealand. It was wrapped in a lot of pearl for extra job safety, lots of weird issues with special characters, working in the DNS space is very interesting, lots of security overlap and problems like trying to stop people using the system for botnet command and control centres.
Most impactful? Wrote a Slack chatbot that allowed on-call operations engineers to leave their laptops in their cars. The bot could help investigate, diagnose, troubleshoot, and resolve issues ranging from single-site slowness to service outages. It talked to databases, CDNs, caching layers, logging infrastructure, servers, load-balancers, and routers. Access was controlled using a tree permission scheme with user and group permissions. Informational commands were generally left open to all engineers and actions were tightly controlled.
I could say, "tell me something I don't know", and stop there. But where's the usefulness in that?
I began suffering from depression around age 8, but wasn't diagnosed until 32. To me it was normal. I didn't have the language to describe it and everyone wrote it off as me being an introvert. Re-processing my life with the understanding of not just that I was suffering from depression, but how I suffered from it, has been illuminating.
With regard to the topic at hand, it makes sense that I excelled working at a datacenter from 3a to 11a and 7p to 3a. It makes sense that a decade after leaving that job my body and mind still want to keep those hours. And it is a nasty feedback loop of depression, lack of (good) sleep, and poor self-care.
My solution was to use a single domain for everything, with different locations broken out under their own subdomains. My colocated rack is "fmt2". VPSs are under normal IATA 3-letter codes. Homes, not just mine, are under "<STREET_NUMBER><STREET_NAME_INITIAL>". Internal services available for all homes are under "int". And so on. There are a bunch of reserved names under each to provide consistent access to per-location devices and services... "network" for a jump-off point to other devices, "edge<N>" for internet-connected routers, "sw<N>" for switches, "svc<N>" for per-location services (Wireguard, DNS, DHCP, NTP, LDAP, RADIUS, BIRD, HTTP/HTTPS, Home Assistant, Home Bridge), "ap<N>" for access points, "print<N>" for document printers, "fdm<N>" for 3D printers, ad nauseum. It's worked great to keep things organized. It also simplifies certificates since I can use wildcards.
I had set up some minecraft servers in my k8s homelab behind a proxy that routes clients to the right server depending on the domain name they're connecting to.
Everything inside the k8s homelab uses subdomains of k.myvanitydomain.com. The minecraft proxy is at mc.k.myvanitydomain.com. So, to connect to the "valinor" minecraft server, it's just valinor.mc.k.myvanitydomain.com. Dead simple (to me).
I tried explaining that to my kids and suddenly I knew what it was like for whoever explained to me the whole /ls/<chubby_cell>/borg/<borg_cell>/bns/<mdb_user>/<job_name>/<index> setup from google prod
This is one I put together a while back for gcc and clang: https://github.com/jeffwalter/defer/. There's no limit to the number of defers you can have. At least not one I've run into.
I created a notification gateway for services, jobs, and users to utilize. It accepts plain-text to send to a default channel or custom if the text contains a valid channel spec. It also accepts HTTP requests where the headers can control nearly every aspect of the message (channel, name, icon, etc). It's one of the simplest things I've written, but it's impact to level of communication is jarringly large.