<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Welcome on Andrei Vasiliu</title><link>https://andreivasiliu.com/</link><description>Recent content in Welcome on Andrei Vasiliu</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Andrei Vasiliu</copyright><lastBuildDate>Thu, 16 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://andreivasiliu.com/index.xml" rel="self" type="application/rss+xml"/><item><title>From Docker Image to Running Pod: Completing the GitOps Loop with App-of-Apps and Multi-Source Argo CD</title><link>https://andreivasiliu.com/from-docker-image-to-running-pod-completing-the-gitops-loop/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/from-docker-image-to-running-pod-completing-the-gitops-loop/</guid><description>&lt;p>The image is built, scanned, and pushed. The version tag is &lt;code>v0.1.0-alpha.7&lt;/code>.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/from-docker-image-to-running-pod-completing-the-gitops-loop/featured.png"/></item><item><title>Stop Shipping Blind: Security Gates and Iterative Hardening with GitHub Actions</title><link>https://andreivasiliu.com/building-a-production-grade-cicd-pipeline-with-security-gates/</link><pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/building-a-production-grade-cicd-pipeline-with-security-gates/</guid><description>&lt;p>The artifact is already hardened. &lt;a href="https://andreivasiliu.com/from-fintech-to-homelab-writing-an-enterprise-ready-dockerfile-for-hugo/" >From FinTech to Homelab: Writing an Enterprise-Ready Dockerfile for Hugo&lt;/a> was about building the container correctly. This post is about everything that has to happen after that.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/building-a-production-grade-cicd-pipeline-with-security-gates/featured.png"/></item><item><title>From FinTech to Homelab: Writing an Enterprise-Ready Dockerfile for Hugo</title><link>https://andreivasiliu.com/from-fintech-to-homelab-writing-an-enterprise-ready-dockerfile-for-hugo/</link><pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/from-fintech-to-homelab-writing-an-enterprise-ready-dockerfile-for-hugo/</guid><description>&lt;p>In the &lt;a href="https://andreivasiliu.com/from-hashnode-to-kubernetes-why-im-self-hosting-my-blog-like-a-bank-website/" >previous post&lt;/a>, I laid out my plan: treat this blog as a production application and host it using the same standards I apply when architecting platforms for private banking and fintech.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/from-fintech-to-homelab-writing-an-enterprise-ready-dockerfile-for-hugo/featured.png"/></item><item><title>Stop Rebuilding Your Images: The "Build Once, Promote Everywhere" Manifesto</title><link>https://andreivasiliu.com/stop-rebuilding-your-images-build-once-promote-everywhere-manifesto/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/stop-rebuilding-your-images-build-once-promote-everywhere-manifesto/</guid><description>&lt;h2 class="relative group">The Enterprise Traceability Problem
 &lt;div id="the-enterprise-traceability-problem" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-enterprise-traceability-problem" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>Guessing whether &lt;code>v1.3.0&lt;/code> in production actually includes yesterday&amp;rsquo;s critical security patch is a dangerous game. Knowing exactly which version of an artifact is running in any given environment isn&amp;rsquo;t just a nice-to-have dashboard feature&amp;hellip; it&amp;rsquo;s the foundation of a reliable release process. You can never afford to wonder if the build candidate QA just signed off on is truly the exact same binary you are deploying to users.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/stop-rebuilding-your-images-build-once-promote-everywhere-manifesto/featured.png"/></item><item><title>From Hashnode to Kubernetes: Why I'm Self-Hosting My Blog Like a Bank Website</title><link>https://andreivasiliu.com/from-hashnode-to-kubernetes-why-im-self-hosting-my-blog-like-a-bank-website/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/from-hashnode-to-kubernetes-why-im-self-hosting-my-blog-like-a-bank-website/</guid><description>&lt;h2 class="relative group">The Question That Changed Everything
 &lt;div id="the-question-that-changed-everything" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-question-that-changed-everything" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>Over the past months, I&amp;rsquo;ve received a variation of the same question more than any other:&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/from-hashnode-to-kubernetes-why-im-self-hosting-my-blog-like-a-bank-website/featured.png"/></item><item><title>GitOps Your Identity: Integrating Keycloak with Argo CD</title><link>https://andreivasiliu.com/gitops-your-identity-integrating-keycloak-with-argo-cd/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/gitops-your-identity-integrating-keycloak-with-argo-cd/</guid><description>&lt;h2 class="relative group">More Than Just a Login Screen
 &lt;div id="more-than-just-a-login-screen" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#more-than-just-a-login-screen" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>In our &lt;a href="https://andreivasiliu.com/stop-outsourcing-identity-a-production-guide-to-keycloak-on-k8s/" >last post&lt;/a>, we deployed a production-ready Keycloak cluster. But an Identity Provider (IdP) in isolation is just a database of users. Its true power lies in being the &lt;strong>architectural enforcement point&lt;/strong> for your entire platform.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/gitops-your-identity-integrating-keycloak-with-argo-cd/featured.png"/></item><item><title>Stop Outsourcing Identity: A Production Guide to Keycloak on K8s</title><link>https://andreivasiliu.com/stop-outsourcing-identity-a-production-guide-to-keycloak-on-k8s/</link><pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/stop-outsourcing-identity-a-production-guide-to-keycloak-on-k8s/</guid><description>&lt;h2 class="relative group">Take Back Control of Your Identity
 &lt;div id="take-back-control-of-your-identity" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#take-back-control-of-your-identity" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>Over the last few months, we&amp;rsquo;ve built a platform that rivals small enterprise setups. We have established a resilient &lt;a href="https://andreivasiliu.com/the-path-to-automated-tls-part-3-automated-certificates-with-cert-manager/" >networking layer with automated TLS&lt;/a>, deployed distributed &lt;a href="https://andreivasiliu.com/the-state-of-persistence-deploying-longhorn-on-talos-linux/" >block storage with Longhorn&lt;/a>, and mastered &lt;a href="https://andreivasiliu.com/the-database-dilemma/" >PostgreSQL on Kubernetes with CloudNativePG&lt;/a>.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/stop-outsourcing-identity-a-production-guide-to-keycloak-on-k8s/featured.png"/></item><item><title>The Database Dilemma - Mastering PostgreSQL on Kubernetes with CloudNativePG</title><link>https://andreivasiliu.com/the-database-dilemma-mastering-postgresql-on-kubernetes-with-cloudnativepg/</link><pubDate>Tue, 24 Feb 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/the-database-dilemma-mastering-postgresql-on-kubernetes-with-cloudnativepg/</guid><description>&lt;h2 class="relative group">The &amp;ldquo;Stateful&amp;rdquo; Reality Check
 &lt;div id="the-stateful-reality-check" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-stateful-reality-check" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>In our last post, we solved the persistence layer by &lt;a href="https://andreivasiliu.com/the-state-of-persistence-deploying-longhorn-on-talos-linux/" >&lt;strong>deploying Longhorn on Talos Linux&lt;/strong>&lt;/a>. We finally have a place to put data. But a raw block device isn&amp;rsquo;t a database.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/the-database-dilemma-mastering-postgresql-on-kubernetes-with-cloudnativepg/featured.png"/></item><item><title>The State of Persistence - Deploying Longhorn on Talos Linux</title><link>https://andreivasiliu.com/the-state-of-persistence-deploying-longhorn-on-talos-linux/</link><pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/the-state-of-persistence-deploying-longhorn-on-talos-linux/</guid><description>&lt;h2 class="relative group">The Paradox of Statelessness
 &lt;div id="the-paradox-of-statelessness" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-paradox-of-statelessness" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>Kubernetes is designed to be ephemeral. Pods die, nodes are replaced, and the cluster heals itself. This &amp;ldquo;stateless&amp;rdquo; philosophy is efficient for application logic, but it hits a hard wall when you need to store data. Databases, message queues, and media servers all need a place to live that persists beyond a pod restart.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/the-state-of-persistence-deploying-longhorn-on-talos-linux/featured.png"/></item><item><title>The Path to Automated TLS - Part 3 Automated Certificates with Cert-Manager</title><link>https://andreivasiliu.com/the-path-to-automated-tls-part-3-automated-certificates-with-cert-manager/</link><pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/the-path-to-automated-tls-part-3-automated-certificates-with-cert-manager/</guid><description>&lt;h2 class="relative group">Locking it Down - From HTTP to HTTPS
 &lt;div id="locking-it-down---from-http-to-https" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#locking-it-down---from-http-to-https" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>In the preceding chapters, we established the networking foundation for a production-grade bare-metal Kubernetes platform.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/the-path-to-automated-tls-part-3-automated-certificates-with-cert-manager/featured.png"/></item><item><title>The Path to Automated TLS - Part 2 The Gateway to the Cluster - Traefik and Technitium</title><link>https://andreivasiliu.com/the-path-to-automated-tls-part-2-the-gateway-to-the-cluster-traefik-and-technitium/</link><pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/the-path-to-automated-tls-part-2-the-gateway-to-the-cluster-traefik-and-technitium/</guid><description>&lt;h2 class="relative group">From IP Address to Intelligent Gateway
 &lt;div id="from-ip-address-to-intelligent-gateway" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#from-ip-address-to-intelligent-gateway" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>In &lt;a href="https://andreivasiliu.com/the-path-to-automated-tls-part-1-bridging-the-gap-networking-with-metallb/" >Chapter 1&lt;/a>, we laid the foundational pillar by solving the bare-metal IP address problem with MetalLB. Our test NGINX service successfully acquired the IP &lt;code>10.20.0.90&lt;/code>, proving our cluster can now serve traffic like its cloud-native counterparts.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/the-path-to-automated-tls-part-2-the-gateway-to-the-cluster-traefik-and-technitium/featured.png"/></item><item><title>The Path to Automated TLS - Part 1 Bridging the Gap - Networking with MetalLB</title><link>https://andreivasiliu.com/the-path-to-automated-tls-part-1-bridging-the-gap-networking-with-metallb/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/the-path-to-automated-tls-part-1-bridging-the-gap-networking-with-metallb/</guid><description>&lt;h2 class="relative group">The Path to Automated TLS: A Three-Part Guide
 &lt;div id="the-path-to-automated-tls-a-three-part-guide" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-path-to-automated-tls-a-three-part-guide" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>The path to achieving fully automated, production-grade TLS on a bare-metal Kubernetes homelab is a rewarding but detailed journey. To do it justice, I&amp;rsquo;ve structured this guide as a three-part series&amp;hellip; a continuous story where each post builds on the last. Frankly, cramming everything into a single, monolithic article would be an overwhelming read.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/the-path-to-automated-tls-part-1-bridging-the-gap-networking-with-metallb/featured.png"/></item><item><title>From Vault to Pod: Automating Kubernetes Secrets with 1Password and External Secrets</title><link>https://andreivasiliu.com/from-vault-to-pod-automating-kubernetes-secrets-with-1password-and-external-secrets/</link><pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/from-vault-to-pod-automating-kubernetes-secrets-with-1password-and-external-secrets/</guid><description>&lt;p>After building a Kubernetes cluster and setting up Argo CD to manage its configuration, what&amp;rsquo;s the very next thing you should install? For me, both in production and in my homelab, the answer is always the same: &lt;strong>External Secrets Operator&lt;/strong>. This post explains why and shows you how I integrate it with 1Password to bring enterprise-grade secret management to my home setup.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/from-vault-to-pod-automating-kubernetes-secrets-with-1password-and-external-secrets/featured.png"/></item><item><title>Stop Drifting: How to Lock Down Your Cilium CNI with Argo CD</title><link>https://andreivasiliu.com/stop-drifting-how-to-lock-down-your-cilium-cni-with-argo-cd/</link><pubDate>Sun, 18 Jan 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/stop-drifting-how-to-lock-down-your-cilium-cni-with-argo-cd/</guid><description>&lt;p>In my last post, &lt;a href="https://andreivasiliu.com/stop-using-the-wrong-cni-why-your-homelab-deserves-cilium-in-2026/" >Stop Using the Wrong CNI: Why Your Homelab Deserves Cilium in 2026&lt;/a>, we established a production-grade networking foundation for our Talos Kubernetes cluster. But a powerful CNI is only half the story. To truly manage our cluster like a professional, we must automate and declare everything.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/stop-drifting-how-to-lock-down-your-cilium-cni-with-argo-cd/featured.png"/></item><item><title>Stop Using the Wrong CNI: Why Your Homelab Deserves Cilium in 2026</title><link>https://andreivasiliu.com/stop-using-the-wrong-cni-why-your-homelab-deserves-cilium-in-2026/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/stop-using-the-wrong-cni-why-your-homelab-deserves-cilium-in-2026/</guid><description>&lt;p>In my last post, &lt;a href="https://andreivasiliu.com/the-four-repo-gitops-structure-for-my-homelab-platform/" >The Four-Repo GitOps Structure for My Homelab Platform&lt;/a>, I laid out the architectural blueprint for managing my homelab like a production environment. Building on the automation I detailed in my popular post, &lt;a href="https://andreivasiliu.com/need-for-speed-automating-proxmox-k8s-clusters-with-talos-omni/" >Need for Speed: Automating Proxmox K8s Clusters with Talos Omni&lt;/a>, we now have a cluster ready for a production-grade CNI. Now that we have a solid GitOps foundation and a running Talos Kubernetes cluster, it’s time to address a critical component: networking.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/stop-using-the-wrong-cni-why-your-homelab-deserves-cilium-in-2026/featured.png"/></item><item><title>The Four-Repo GitOps Structure for My Homelab Platform</title><link>https://andreivasiliu.com/the-four-repo-gitops-structure-for-my-homelab-platform/</link><pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/the-four-repo-gitops-structure-for-my-homelab-platform/</guid><description>&lt;h2 class="relative group">The Journey So Far
 &lt;div id="the-journey-so-far" class="anchor">&lt;/div>
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-journey-so-far" aria-label="Anchor">#&lt;/a>
 &lt;/span>
 
&lt;/h2>
&lt;p>In this series, we&amp;rsquo;ve built a powerful foundation for a homelab Kubernetes platform. We started by &lt;a href="https://andreivasiliu.com/enterprise-kubernetes-at-home-a-guide-to-installing-talos-omni/" >installing Talos Omni&lt;/a> to get a centralized management plane. Then, we walked the &amp;ldquo;scenic route&amp;rdquo; by &lt;a href="https://andreivasiliu.com/from-iso-to-kubectl-a-guide-to-manually-provisioning-a-talos-kubernetes-cluster/" >manually provisioning a cluster&lt;/a> to understand the nuts and bolts. Finally, we achieved true velocity by &lt;a href="https://andreivasiliu.com/need-for-speed-automating-proxmox-k8s-clusters-with-talos-omni/" >automating cluster creation&lt;/a>, turning our Kubernetes infrastructure into a disposable, on-demand resource.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/the-four-repo-gitops-structure-for-my-homelab-platform/featured.png"/></item><item><title>Need for Speed: Automating Proxmox K8s Clusters with Talos Omni</title><link>https://andreivasiliu.com/need-for-speed-automating-proxmox-k8s-clusters-with-talos-omni/</link><pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/need-for-speed-automating-proxmox-k8s-clusters-with-talos-omni/</guid><description>&lt;p>In my previous posts, I walked through &lt;a href="https://andreivasiliu.com/enterprise-kubernetes-at-home-a-guide-to-installing-talos-omni/" >installing Talos Omni&lt;/a> and then &lt;a href="https://andreivasiliu.com/from-iso-to-kubectl-a-guide-to-manually-provisioning-a-talos-kubernetes-cluster/" >manually provisioning a Talos Kubernetes cluster&lt;/a> on Proxmox. Both were essential learning experiences. Getting Talos Omni running was a huge win, and understanding the manual provisioning process&amp;hellip; from downloading the ISO, creating VMs, configuring static IPs in the console, and patching nodes&amp;hellip; built a strong foundation. But the real game-changer wasn&amp;rsquo;t just &lt;em>running&lt;/em> Kubernetes&amp;hellip; it was discovering how quickly I could &lt;em>create&lt;/em> it.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/need-for-speed-automating-proxmox-k8s-clusters-with-talos-omni/featured.png"/></item><item><title>From ISO to kubectl: A Guide to Manually Provisioning a Talos Kubernetes Cluster</title><link>https://andreivasiliu.com/from-iso-to-kubectl-a-guide-to-manually-provisioning-a-talos-kubernetes-cluster/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/from-iso-to-kubectl-a-guide-to-manually-provisioning-a-talos-kubernetes-cluster/</guid><description>&lt;p>In the world of platform engineering, our goal is always to automate everything. But before we can appreciate the elegance of a fully automated workflow, it&amp;rsquo;s incredibly valuable to walk through the manual process at least once. It builds a deep understanding of what&amp;rsquo;s happening under the hood.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/from-iso-to-kubectl-a-guide-to-manually-provisioning-a-talos-kubernetes-cluster/featured.jpeg"/></item><item><title>Enterprise Kubernetes at Home - A Guide to Installing Talos Omni</title><link>https://andreivasiliu.com/enterprise-kubernetes-at-home-a-guide-to-installing-talos-omni/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/enterprise-kubernetes-at-home-a-guide-to-installing-talos-omni/</guid><description>&lt;p>In the world of enterprise cloud, managing Kubernetes clusters with services like GKE, EKS, or AKS is standard practice. These platforms offer incredible power but come with a learning curve and, more importantly, a cost that&amp;rsquo;s hard to justify for a homelab. As a platform engineer, I&amp;rsquo;m used to building and managing production-grade infrastructure, but as I explained in my first post, &lt;a href="https://andreivasiliu.com/why-not-a-homelab/" >Why not a homelab?&lt;/a>, I wanted a solution for my homelab that offered a similar centralized management experience without the overhead.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/enterprise-kubernetes-at-home-a-guide-to-installing-talos-omni/featured.jpeg"/></item><item><title>How I Chose My Homelab Hardware (Part 1): From Cloud Sizing to Requirements</title><link>https://andreivasiliu.com/how-i-chose-my-homelab-hardware-part-1/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/how-i-chose-my-homelab-hardware-part-1/</guid><description>&lt;p>When you architect a Kubernetes cluster, you don&amp;rsquo;t think about heat dissipation or power consumption. You think in abstractions: N2 instances, vCPUs, memory tiers. Click, deploy, bill. The infrastructure vanishes behind APIs and Terraform declarations. But the moment you decide to build that same cluster in your homelab, those abstractions collapse into very real decisions: which CPU, how much RAM, what kind of storage, and critically, how much will this cost me in electricity every month?&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/how-i-chose-my-homelab-hardware-part-1/featured.png"/></item><item><title>How I Chose My Homelab Hardware (Part 2): From Design Principles to Physical Build</title><link>https://andreivasiliu.com/how-i-chose-my-homelab-hardware-part-2/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/how-i-chose-my-homelab-hardware-part-2/</guid><description>&lt;blockquote>&lt;p>This is Part 2. If you need the cloud-to-homelab translation and requirement framing, read &lt;strong>Part 1: From Cloud Sizing to Requirements&lt;/strong> first.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/how-i-chose-my-homelab-hardware-part-2/featured.png"/></item><item><title>From Blueprint to Bare Metal: Building a Segmented Homelab Network</title><link>https://andreivasiliu.com/from-blueprint-to-bare-metal-building-a-segmented-homelab-network/</link><pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/from-blueprint-to-bare-metal-building-a-segmented-homelab-network/</guid><description>&lt;p>I love diagrams, but diagrams don&amp;rsquo;t wire cables for me. In this post I will show the physical mapping, the Proxmox bridge pattern I used, the OPNsense management model, and the first firewall policy I used to protect the lab. The network was already in place; below I explain what I did to build and secure it.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/from-blueprint-to-bare-metal-building-a-segmented-homelab-network/featured.png"/></item><item><title>From Enterprise to Homelab: Transforming My Home Network</title><link>https://andreivasiliu.com/from-enterprise-to-homelab-transforming-my-home-network/</link><pubDate>Sun, 19 Oct 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/from-enterprise-to-homelab-transforming-my-home-network/</guid><description>&lt;p>Hey there! In my last post, I shared why I’m starting this homelab journey. Today I’m taking it a step further: I’m rebuilding my home network from a simple, flat LAN into a segmented, security‑first setup &amp;hellip; very similar to how Google Cloud designs hub‑and‑spoke networks. If you’re new here, you might want to start with my introduction: &lt;a href="https://andreivasiliu.com/why-not-a-homelab/" >Why not a homelab?&lt;/a>&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/from-enterprise-to-homelab-transforming-my-home-network/featured.jpeg"/></item><item><title>Why not a homelab?</title><link>https://andreivasiliu.com/why-not-a-homelab/</link><pubDate>Sat, 11 Oct 2025 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/why-not-a-homelab/</guid><description>&lt;p>Hey there! If you&amp;rsquo;re reading this, you&amp;rsquo;re about to embark on an adventure with me that I never thought I&amp;rsquo;d start.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://andreivasiliu.com/why-not-a-homelab/featured.jpeg"/></item><item><title>About</title><link>https://andreivasiliu.com/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/about/</guid><description>&lt;p>Hi, I&amp;rsquo;m &lt;strong>Andrei Vasiliu&lt;/strong>, currently the Platform &amp;amp; ISMS Director at Alpian Technologies in Rome, Italy, and a self-admitted homelab addict. I&amp;rsquo;m originally from Romania, and yes, I somehow made the jump from &lt;em>Civil Engineering&lt;/em> (keeping actual physical buildings from falling down) to &lt;em>DevOps and Platform Engineering&lt;/em> (keeping virtual pods from mysteriously crash-looping).&lt;/p></description></item><item><title>Archive</title><link>https://andreivasiliu.com/archive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/archive/</guid><description/></item><item><title>Page Not Found</title><link>https://andreivasiliu.com/404/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://andreivasiliu.com/404/</guid><description>&lt;p>If you followed a link from an external site, the content may have moved. Use the links below to return to the homepage or browse the latest posts.&lt;/p></description></item></channel></rss>