The lab has had high-availability Postgres via Patroni for a while - leader election, automatic failover, a stable VIP endpoint for clients. MariaDB was the gap. Apps that needed it were pinned to a single node, so a reboot or board failure meant downtime until the container rescheduled. That became hard to ignore once Uptime Kuma (which uses MariaDB) went down during a planned maintenance window and took the alerting channel with it.
The fix is a three-node MariaDB 11.4 Galera cluster sitting behind ProxySQL in single-writer mode, exposed through Traefik at one stable hostname on port 3306. ProxySQL handles query routing and connection pooling; Galera handles synchronous replication so any node can become the writer without a data gap. Write/read behavior and node-failover were tested manually before promoting to production. The first tenant to migrate was Uptime Kuma itself - a mysqldump, an import into the new cluster, and a one-line config change to point at the new hostname. The monitoring stack now survives the loss of any single node.