n8n Grows Up: Hardened, Multi-Tenant and a Little Bit Smarter
This week n8n on the cluster went from “neat experiment” to something I’d actually call production worthy.
First up, the hardening. n8n is now on version 2, and everything it needs is in the GitOps repo. The secrets (API keys, encryption keys, database passwords) are encrypted with SOPS, so they sit right in the repo safely and Flux decrypts them on the way into the cluster. No more hand-typed secrets that only live in my head. No Terraform needed this time; Flux and the GitOps repo do the heavy lifting on the home cluster. Each instance gets its own Longhorn volume, so the data sticks around if a pod gets rescheduled.
Second, it’s multi-tenant now. There are two working accounts, each in its own namespace: mine, and one for my wife. Same recipe, separate data, separate logins. Adding a third is just a copy of the pattern.
Third, the fun part. My n8n’s built-in AI Assistant now talks to Grok through the xAI API. To give it room to work, I stood up a code sandbox and a SearXNG search engine in their own namespace. Network policies keep them reachable only from my n8n, and the sandbox can reach the internet but not my home network. My wife’s instance stays off them until she wants the AI side of things.
And a nice side effect: the Alertmanager-to-SMS webhook that runs through n8n is working again, so the cluster can text me when something goes sideways.
What’s next? Turning on two-factor sign-in for n8n, and wiring it up to Node-RED and the new MQTT broker. More on that one soon.