<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kustomize on Thomas Peters</title><link>https://www.sirmysterion.com/tags/kustomize/</link><description>Recent content in Kustomize on Thomas Peters</description><generator>Hugo</generator><language>en</language><managingEditor>thomas@tnepeters.com (Thomas Peters)</managingEditor><webMaster>thomas@tnepeters.com (Thomas Peters)</webMaster><copyright>&lt;a href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank" rel="noopener"&gt;CC BY-NC 4.0&lt;/a&gt;</copyright><lastBuildDate>Mon, 10 Aug 2026 21:07:53 -0600</lastBuildDate><atom:link href="https://www.sirmysterion.com/tags/kustomize/index.xml" rel="self" type="application/rss+xml"/><item><title>Multi-Tenant Kubernetes with Kustomize Templates and ApplicationSets</title><link>https://www.sirmysterion.com/posts/20260810-multitenant-kubernetes-kustomize-appsets/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><author>thomas@tnepeters.com (Thomas Peters)</author><guid>https://www.sirmysterion.com/posts/20260810-multitenant-kubernetes-kustomize-appsets/</guid><description>&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;ve been building a platform that runs the same application for multiple clients, with multiple users per client.
Every instance needs its own config, its own storage, and its own hostname.
Client A must never be able to reach client B, and that one has to be a guarantee rather than a convention.
Users inside a client are a softer boundary, which is a distinction worth making early because the design treats them very differently.
The naive approach is copy-pasting a pile of YAML per tenant, which works right up until you need to change one field across twenty instances.&lt;/p&gt;</description></item></channel></rss>