<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mariadb on polar-node // runbooks</title><link>https://polar-node.work/tags/mariadb/</link><description>Recent content in Mariadb on polar-node // runbooks</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 19 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://polar-node.work/tags/mariadb/index.xml" rel="self" type="application/rss+xml"/><item><title>HA Apache Guacamole — Nginx + MariaDB Galera Cluster (IaC)</title><link>https://polar-node.work/projects/guacamole-ha-cluster/</link><pubDate>Fri, 19 Jun 2026 00:00:00 +0000</pubDate><guid>https://polar-node.work/projects/guacamole-ha-cluster/</guid><description>&lt;p&gt;&lt;strong&gt;Status: in progress.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A resilient remote-access gateway built so that no single component — web tier, application tier, or database — is a single point of failure:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multiple Guacamole nodes&lt;/strong&gt; behind an &lt;strong&gt;Nginx&lt;/strong&gt; load balancer, so a node failure doesn&amp;rsquo;t take down access&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MariaDB Galera cluster&lt;/strong&gt; as the authentication/connection database backend — synchronous multi-master replication, no single DB instance to lose&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session recording&lt;/strong&gt; for connection auditing and compliance&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure as Code&lt;/strong&gt; — the whole stack defined and reproducible, not hand-built&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The interesting part of this project isn&amp;rsquo;t installing Guacamole — that&amp;rsquo;s well documented. It&amp;rsquo;s getting the &lt;strong&gt;Galera cluster quorum right&lt;/strong&gt; (odd node count, proper arbitrator handling) and making sure failover at every layer — Nginx, Guacamole, and the database — actually works under a node failure, not just in theory.&lt;/p&gt;</description></item></channel></rss>