<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Infrastructure on Landry Zetam - Tech Blog</title><link>https://blog.landryzetam.net/tags/infrastructure/</link><description>Recent content in Infrastructure on Landry Zetam - Tech Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 23 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.landryzetam.net/tags/infrastructure/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a Production-Grade Home Network with UniFi VLANs</title><link>https://blog.landryzetam.net/posts/unifi-vlan-home-network/</link><pubDate>Tue, 23 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/unifi-vlan-home-network/</guid><description>&lt;p>Your home network doesn&amp;rsquo;t have to be a flat, insecure mess where your smart toaster can talk to your NAS. With UniFi gear and some intentional design, you can build network segmentation that rivals enterprise setups—without the enterprise price tag. This is how I architected a 10-VLAN home network that isolates everything from security cameras to a 7-node Kubernetes cluster.&lt;/p>
&lt;hr>
&lt;h2 id="part-1-the-design-philosophy">Part 1: The Design Philosophy&lt;/h2>
&lt;h3 id="why-segment-at-all">Why Segment at All?&lt;/h3>
&lt;p>Most home networks run everything on a single subnet. Your laptop, your Ring cameras, your kids&amp;rsquo; tablets, and your IoT light bulbs all share the same network space. This creates several problems:&lt;/p></description></item><item><title>GitOps Framework: How the Fako Cluster Repository is Organized</title><link>https://blog.landryzetam.net/posts/gitops-framework/</link><pubDate>Sun, 21 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/gitops-framework/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>The Fako Cluster uses a GitOps approach where &lt;strong>Git is the single source of truth&lt;/strong> for all cluster state. Every deployment, configuration change, and infrastructure update flows through Git commits. FluxCD watches the repository and automatically reconciles the cluster to match the desired state defined in code.&lt;/p>
&lt;p>This post explains the repository structure, the reasoning behind each directory, and how the pieces work together.&lt;/p>
&lt;h2 id="repository-structure">Repository Structure&lt;/h2>
&lt;pre tabindex="0">&lt;code>fako-cluster/
├── apps/ # Application deployments
│ ├── base/ # Base Kustomize configurations
│ └── staging/ # Environment overlay (what actually deploys)
├── clusters/ # Cluster bootstrap and Flux config
│ └── staging/ # Flux Kustomizations that orchestrate everything
├── infrastructure/ # Platform components
│ ├── controllers/ # Operators (Cert-Manager, CloudNative-PG, etc.)
│ └── configs/ # Configuration for controllers
├── monitoring/ # Observability stack
│ ├── controllers/ # Prometheus, Loki, Grafana, etc.
│ └── configs/ # Dashboards, alerting rules
├── scripts/ # Deployment and maintenance scripts
└── notes/ # Documentation and troubleshooting
&lt;/code>&lt;/pre>&lt;h2 id="the-basestaging-pattern">The Base/Staging Pattern&lt;/h2>
&lt;p>The most important concept to understand is the &lt;strong>base/staging pattern&lt;/strong> used throughout the repository.&lt;/p></description></item><item><title>How I Clustered Three Mac Studios for Local AI Processing with GPUStack</title><link>https://blog.landryzetam.net/posts/gpustack-mac-clustering/</link><pubDate>Mon, 11 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/gpustack-mac-clustering/</guid><description>&lt;h2 id="opening-hook">Opening Hook&lt;/h2>
&lt;p>I&amp;rsquo;ve always loved the idea of running powerful AI workloads without relying on expensive cloud GPUs. Recently, I turned that idea into reality by transforming three Mac Studios into a fully functioning local AI cluster using &lt;strong>GPUStack&lt;/strong>. This setup lets me run distributed inference workloads across multiple Macs with Apple Metal acceleration — and it&amp;rsquo;s a lot more affordable and energy-efficient than most people think.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Related:&lt;/strong> See &lt;a href="https://blog.landryzetam.net/posts/mac-ai-cluster/">Mac AI Cluster: From EXO Vision to GPUStack Reality&lt;/a> for the philosophical journey that led to this technical implementation.&lt;/p></description></item><item><title>Building a Local AI Cluster with Mac Hardware: From Vision to Reality</title><link>https://blog.landryzetam.net/posts/mac-ai-cluster/</link><pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/mac-ai-cluster/</guid><description>&lt;h2 id="the-mission-that-started-it-all">The Mission That Started It All&lt;/h2>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> This post combines the journeys documented in my &lt;a href="https://blog.landryzetam.net/posts/mac-ai-cluster/">Mac AI Cluster Project&lt;/a> and &lt;a href="https://blog.landryzetam.net/posts/gpustack-mac-clustering/">GPUStack Mac Clustering Tutorial&lt;/a>. For deep technical details, see those project pages.&lt;/p>&lt;/blockquote>
&lt;p>When I first discovered &lt;strong>EXO Labs&lt;/strong>, their mission resonated deeply with me.&lt;/p>
&lt;blockquote>
&lt;p>Humanity is headed toward a world controlled by a handful of companies that will dictate the AI models everyone uses.
The real threat isn&amp;rsquo;t AI destroying us — it&amp;rsquo;s losing sovereignty over our own minds.&lt;/p></description></item><item><title>From GitHub Notes to Production Blog</title><link>https://blog.landryzetam.net/posts/hugo-blogging/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/hugo-blogging/</guid><description>&lt;h2 id="why-this-guide-exists">Why This Guide Exists&lt;/h2>
&lt;p>I&amp;rsquo;ve been doing a lot of dev work, research and hadn&amp;rsquo;t really thought about sharing the knowledge without having to learn frontend development or maintain complex code. I knew I had a bunch of markdown GitHub notes and thought they could be used as a baseline to catch up on all my lack of documentation. Then I found Hugo.&lt;/p>
&lt;p>This guide covers the entire workflow of creating a Hugo blog, containerizing it, and deploying it to Kubernetes - all without writing a single line of frontend code (html, css, js).&lt;/p></description></item><item><title>Running 184 Pods on a 6-Node K3s Homelab Cluster</title><link>https://blog.landryzetam.net/posts/k8s/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/k8s/</guid><description>&lt;h2 id="project-overview">Project Overview&lt;/h2>
&lt;p>The Fako Cluster is my production Kubernetes environment that serves as the foundation for all other projects. It&amp;rsquo;s a self-hosted, production-grade K8s cluster that demonstrates enterprise-level practices while running on homelab hardware.&lt;/p>
&lt;h3 id="why-fako">Why &amp;ldquo;Fako&amp;rdquo;?&lt;/h3>
&lt;p>The name &amp;ldquo;Fako&amp;rdquo; holds special significance - it&amp;rsquo;s named after Mount Fako (Mount Cameroon), the highest peak in West and Central Africa. Just as Mount Fako stands as a towering landmark visible from miles away, this Kubernetes cluster serves as the foundational infrastructure that all other services can rely on.&lt;/p></description></item></channel></rss>