<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FluxCD on Landry Zetam - Tech Blog</title><link>https://blog.landryzetam.net/tags/fluxcd/</link><description>Recent content in FluxCD on Landry Zetam - Tech Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 21 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.landryzetam.net/tags/fluxcd/index.xml" rel="self" type="application/rss+xml"/><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>Securing GitOps: SOPS Secret Management in k8s with FluxCD</title><link>https://blog.landryzetam.net/posts/secrets-management-with-sops-flux-gitops/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/secrets-management-with-sops-flux-gitops/</guid><description>&lt;h2 id="the-problem-secrets-in-gitops">The Problem: Secrets in GitOps&lt;/h2>
&lt;p>When I started my Kubernetes homelab journey, I quickly hit a wall that every GitOps practitioner faces: &lt;strong>How do you store secrets in Git without compromising security?&lt;/strong>&lt;/p>
&lt;p>The GitOps philosophy is beautifully simple - everything should be in Git. Your entire cluster state, all your applications, configurations, and yes, even secrets. But committing passwords, API keys, and certificates to a public (or even private) repository feels fundamentally wrong. It is wrong.&lt;/p></description></item><item><title>GitOps in Practice: Managing k8s with FluxCD</title><link>https://blog.landryzetam.net/posts/gitops-with-fluxcd/</link><pubDate>Wed, 06 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/gitops-with-fluxcd/</guid><description>&lt;p>After running the Fako Cluster for several months, I can confidently say that adopting GitOps with FluxCD has been one of the best decisions for managing my Kubernetes infrastructure. In this post, I&amp;rsquo;ll share practical insights and patterns that have proven invaluable.&lt;/p>
&lt;h2 id="what-is-gitops">What is GitOps?&lt;/h2>
&lt;p>GitOps is a way of implementing Continuous Deployment for cloud native applications.
FluxCD is designed to simplify that, making it easier than ever to manage your Kubernetes environments. Here’s why i leverage it in my workflow:&lt;/p></description></item></channel></rss>