<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>11 - Posts on Eliorion blog</title><link>https://eliorion.github.io/My-blog/11---posts/</link><description>Recent content in 11 - Posts on Eliorion blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 29 May 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://eliorion.github.io/My-blog/11---posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Introduction to my blog</title><link>https://eliorion.github.io/My-blog/11---posts/2025-08-31---intro/</link><pubDate>Sun, 31 Aug 2025 14:00:00 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2025-08-31---intro/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I’ve built many projects on my own, but I never shared them publicly. For a long time, I wanted to have my own server with a personal domain name. Unfortunately, for personal reasons, I couldn’t maintain a persistent server. Recently, I discovered a solution that lets me host a blog within minutes using Hugo and GitHub — so here I am.&lt;/p&gt;
&lt;h2 id="my-linkedin"&gt;My Linkedin&lt;/h2&gt;
&lt;p&gt;You can see my &lt;a href="https://www.linkedin.com/in/samuel-kharitonoff/?locale=en_US"&gt;Linkedin&lt;/a&gt; if you want.&lt;/p&gt;</description></item><item><title>One Command to Provision a Server</title><link>https://eliorion.github.io/My-blog/11---posts/2026-05-29---mve-itguard-bootstrap/</link><pubDate>Fri, 29 May 2026 09:00:00 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-05-29---mve-itguard-bootstrap/</guid><description>&lt;h2 id="the-goal-a-reproducible-server"&gt;The Goal: A Reproducible Server&lt;/h2&gt;
&lt;p&gt;The worst kind of infrastructure is a server that nobody fully understands anymore. Things were installed over time, configuration changed in place, and the mental model of how it all fits together lives only in the memory of whoever last touched it. If that server dies, rebuilding it requires archaeology.&lt;/p&gt;
&lt;p&gt;The goal for mve-itguard was the opposite: a fresh Debian machine should go from zero to fully operational — users created, Docker installed, runners running, services ready to deploy — with a single command that anyone with the repository and the AGE key can run.&lt;/p&gt;</description></item><item><title>Secrets in Git Without Fear: SOPS + AGE</title><link>https://eliorion.github.io/My-blog/11---posts/2026-05-27---mve-itguard-secrets/</link><pubDate>Wed, 27 May 2026 09:00:00 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-05-27---mve-itguard-secrets/</guid><description>&lt;h2 id="the-problem-every-project-has"&gt;The Problem Every Project Has&lt;/h2&gt;
&lt;p&gt;Every project that deploys to a real server has secrets. Tokens, passwords, API keys — values that should not be publicly visible but that the application needs to run.&lt;/p&gt;
&lt;p&gt;The GitOps approach makes this harder to ignore. If Git is the single source of truth and all configuration lives in the repository, where do the secrets go? Committing them in plaintext is an obvious mistake. Leaving them outside Git means the repository is no longer the complete source of truth — some knowledge lives only in someone&amp;rsquo;s head or in a separate system.&lt;/p&gt;</description></item><item><title>GitOps Without Kubernetes: Docker Compose + GitHub Actions</title><link>https://eliorion.github.io/My-blog/11---posts/2026-05-25---mve-itguard-gitops/</link><pubDate>Mon, 25 May 2026 09:00:00 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-05-25---mve-itguard-gitops/</guid><description>&lt;h2 id="gitops-is-a-principle-not-a-tool"&gt;GitOps Is a Principle, Not a Tool&lt;/h2&gt;
&lt;p&gt;When people talk about GitOps, Kubernetes quickly enters the conversation. FluxCD, ArgoCD, Helm — the ecosystem is rich, and the tooling handles a lot of the heavy lifting. The platform continuously watches the repository and reconciles the cluster state to match what Git declares.&lt;/p&gt;
&lt;p&gt;But the underlying principle has nothing to do with Kubernetes specifically. GitOps is simpler than that: &lt;strong&gt;Git is the single source of truth. No change happens outside of Git. Automation applies what Git declares.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Why I Built a Self-Hosted Home Security Platform</title><link>https://eliorion.github.io/My-blog/11---posts/2026-05-24---mve-itguard/</link><pubDate>Sun, 24 May 2026 09:00:00 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-05-24---mve-itguard/</guid><description>&lt;h2 id="the-problem-with-commercial-solutions"&gt;The Problem with Commercial Solutions&lt;/h2&gt;
&lt;p&gt;When I started thinking about home security cameras, the obvious path was a commercial solution — Ring, Nest, or one of the dozens of cloud-connected systems on the market. Plug it in, create an account, and you&amp;rsquo;re done.&lt;/p&gt;
&lt;p&gt;I did not go that route. Not because it is difficult to set up, but because of what it implies: your video footage lives on someone else&amp;rsquo;s server, your access depends on a subscription, and if the company changes its pricing or shuts down, you lose everything you built around it.&lt;/p&gt;</description></item><item><title>Containerise Python application</title><link>https://eliorion.github.io/My-blog/11---posts/2026-03-24---containerise-python-application/</link><pubDate>Fri, 27 Mar 2026 09:38:10 +0100</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-03-24---containerise-python-application/</guid><description>&lt;h2 id="fist-conplete-containerise-python-application"&gt;&lt;strong&gt;Fist conplete containerise Python application&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In the context of the KubeCraft course, I needed to create a complet containerise Python application from scratch. The course is focus on the DecSecOps implementation, note the Python part.&lt;/p&gt;
&lt;h2 id="pre-require"&gt;&lt;strong&gt;Pre-require&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The first step to have a nice DevSecOps environnement is the team work. I will be the only one who use this project, but in reality a hole team will need to have access and modify some piece of the application. First think in mind when you have IT project and team work, you think about Git. Even you haven&amp;rsquo;t a team to work with, use Git is a nice way to have log of your work and explain why the application don&amp;rsquo;t work after a modification, and be able to come back to a secure version.&lt;/p&gt;</description></item><item><title>First GitOps implementation</title><link>https://eliorion.github.io/My-blog/11---posts/2026-02-26---first-gitops-implementation/</link><pubDate>Wed, 04 Mar 2026 09:38:10 +0100</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-02-26---first-gitops-implementation/</guid><description>&lt;h2 id="kubecraft-course"&gt;&lt;strong&gt;KubeCraft Course&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;After completing the first Kubernetes course, where I deployed a basic K3s cluster on Rancher Desktop, I moved to the next level: a homelab course focused on building a fully GitOps-based K3s cluster on a Debian VM, hosting real self-hosted applications exposed to the internet.&lt;/p&gt;
&lt;h3 id="what-to-expect-at-the-end"&gt;&lt;strong&gt;What to Expect at the End?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The final goal is to deploy a self-hosted &lt;strong&gt;Linkding&lt;/strong&gt; application accessible from the internet using a custom domain name.&lt;/p&gt;</description></item><item><title>Why learn linux before containerisation</title><link>https://eliorion.github.io/My-blog/11---posts/2026-02-23---why-learn-linux-before-containerisation/</link><pubDate>Mon, 23 Feb 2026 09:38:10 +0100</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-02-23---why-learn-linux-before-containerisation/</guid><description>&lt;h1 id="when-2-gb-of-ram-broke-my-dev-environment"&gt;&lt;strong&gt;When 2 GB of RAM Broke My Dev Environment&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;One of my first real breakthroughs in learning Linux happened when I started working seriously with containers.&lt;/p&gt;
&lt;p&gt;At first, I struggled with the Docker CLI. It felt abstract and sometimes unintuitive. But the more I learned about Linux — processes, namespaces, cgroups, filesystems — the more containers started to make sense. Containerization is not magic. It is Linux.&lt;/p&gt;
&lt;p&gt;Understanding that changed everything.&lt;/p&gt;</description></item><item><title>Become a beginer again</title><link>https://eliorion.github.io/My-blog/11---posts/2026-01-01---become-beginer-again/</link><pubDate>Thu, 11 Dec 2025 09:38:10 +0100</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-01-01---become-beginer-again/</guid><description>&lt;h2 id="why-i-needed-to-step-back"&gt;&lt;strong&gt;Why I needed to step back&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;It’s been a month since I subscribed to the KubeCraft Career Accelerator program. I quickly realized how lost I was when it came to Linux basics, especially everyday usage and command-line fundamentals. I used to develop on embedded Linux systems, but I was probably using only 10% of the real power of the Linux CLI.&lt;/p&gt;
&lt;p&gt;So I decided to become a beginner again and truly master the Linux command line first, using the full development process directly in the terminal. The goal is to become extremely strong on the fundamentals so that, in a few months, I’ll be able to learn anything using only a terminal, and manage or administer any Linux server anywhere in the world with just a basic shell and bash.&lt;/p&gt;</description></item><item><title>New Homelab Workflow</title><link>https://eliorion.github.io/My-blog/11---posts/2025-12-11---new-homelab-workflow/</link><pubDate>Thu, 11 Dec 2025 09:38:10 +0100</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2025-12-11---new-homelab-workflow/</guid><description>&lt;h2 id="my-first-homelab-for-the-second-attempt"&gt;My First Homelab (for the second attempt)&lt;/h2&gt;
&lt;p&gt;This homelab is the first real infrastructure I’m building—although technically, it’s already my second attempt.&lt;/p&gt;
&lt;h3 id="why-a-second-attempt"&gt;Why a Second Attempt?&lt;/h3&gt;
&lt;p&gt;The first time I tried to set everything up, I used Proxmox running on a VM provider and Talos Linux for my Kubernetes nodes.
I experimented with countless configurations, trying to understand how Talos works behind the scenes. Each time a node failed or something didn’t behave the way I expected, I had to rebuild everything manually, one node at a time. It was painful, slow, and sometimes discouraging… but I learned a lot from it.&lt;/p&gt;</description></item><item><title>Persistence volume in Kubernetes</title><link>https://eliorion.github.io/My-blog/11---posts/2025-12-11---persistent-volume-with-nfs/</link><pubDate>Thu, 11 Dec 2025 09:38:10 +0100</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2025-12-11---persistent-volume-with-nfs/</guid><description>&lt;h2 id="learn-persistent-volume-on-kubernetes"&gt;Learn persistent volume on kubernetes&lt;/h2&gt;
&lt;p&gt;My status in my learning session on kubernetes :&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Learning stat&lt;/th&gt;
&lt;th&gt;Commentary&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pods&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Create, delete, logs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;🟢&lt;/td&gt;
&lt;td&gt;Consepts understood&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nfs-driver&lt;/td&gt;
&lt;td&gt;🟢&lt;/td&gt;
&lt;td&gt;In place to use TrueNAS NFS shared storage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Calico&lt;/td&gt;
&lt;td&gt;🟠&lt;/td&gt;
&lt;td&gt;Basic functionality; not fully mastered but operational&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Service&lt;/td&gt;
&lt;td&gt;🟠&lt;/td&gt;
&lt;td&gt;ClusterIP and NodePort understood; LoadBalancer and ExternalName not yet used&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Traefix&lt;/td&gt;
&lt;td&gt;🟠&lt;/td&gt;
&lt;td&gt;Learning, used with Service LoadBalancer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API gateway&lt;/td&gt;
&lt;td&gt;🟠&lt;/td&gt;
&lt;td&gt;Learning, used with Service LoadBalancer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PV&lt;/td&gt;
&lt;td&gt;🔴&lt;/td&gt;
&lt;td&gt;Persistent volumes not yet required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PVC&lt;/td&gt;
&lt;td&gt;🔴&lt;/td&gt;
&lt;td&gt;Persistent volume claims not yet required&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I hadn&amp;rsquo;t needed to create a PV and a PVC. So, I had to learn how to access this ressource in my Talos Kubernetes cluster.&lt;/p&gt;</description></item><item><title>OpenClaw setup and security</title><link>https://eliorion.github.io/My-blog/11---posts/2026-05-14---openclaw-setup-and-security/</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-05-14---openclaw-setup-and-security/</guid><description>&lt;h2 id="why-i-run-openclaw-at-home"&gt;&lt;strong&gt;Why I run OpenClaw at home&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;I want an AI agent who can read my files, run commands, and help me on my homelab project, but I don’t want to send my workspace to a SaaS or open a public port on my router. OpenClaw is a self-hosted agent platform: it run on my Linux box, hold the agent sessions, and expose a small control UI to interact with it from any of my devices.&lt;/p&gt;</description></item><item><title>Refactoring My Blog</title><link>https://eliorion.github.io/My-blog/11---posts/2026-03-27---refactoring-my-blog/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2026-03-27---refactoring-my-blog/</guid><description>&lt;h2 id="why-refactoring"&gt;&lt;strong&gt;Why refactoring?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The first reason is that I didn’t put much thought into this side project. Also, I spent time trying to build a complicated CI/CD pipeline with GitHub Actions, and the result was not what I wanted.&lt;/p&gt;
&lt;h2 id="separate-tasks"&gt;&lt;strong&gt;Separate tasks&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In the previous version of my blog, all the Hugo file system and the translations were in the &lt;code&gt;root&lt;/code&gt; of the project. I started to structure things better by separating tasks:&lt;/p&gt;</description></item><item><title>Homelab architecture Learning Project</title><link>https://eliorion.github.io/My-blog/11---posts/2025-09-15---architecture-learning-project/</link><pubDate>Mon, 15 Sep 2025 22:50:16 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2025-09-15---architecture-learning-project/</guid><description>&lt;h2 id="building-a-home-lab-to-learn-kubernetes"&gt;Building a Home Lab to Learn Kubernetes&lt;/h2&gt;
&lt;p&gt;I wanted to learn Kubernetes—really learn it, not just follow a few tutorials.
While researching, I noticed many people build their own home labs to run cloud services or custom applications.
That inspired me to set up a complete home lab myself: first to run basic services like Nextcloud or OpenProject, and then to experiment with a full DevSecOps pipeline.&lt;/p&gt;
&lt;h2 id="first-step"&gt;First Step&lt;/h2&gt;
&lt;p&gt;To understand Kubernetes properly, I needed something close to real-world infrastructure.
Buying three or more physical servers wasn’t possible, so I decided to create everything on a single machine using multiple virtual machines (VMs).
This way I can spin up as many servers as I need and quickly learn how to build a cluster.&lt;/p&gt;</description></item><item><title>Network Configuration</title><link>https://eliorion.github.io/My-blog/11---posts/2025-09-02---network-configuration/</link><pubDate>Sun, 31 Aug 2025 22:19:31 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2025-09-02---network-configuration/</guid><description>&lt;h2 id="first-issue"&gt;First issue&lt;/h2&gt;
&lt;h3 id="multiples-environnements"&gt;Multiples environnements&lt;/h3&gt;
&lt;p&gt;First, I need to connect to my server in SSH and in http to manage Proxmox.
&lt;img alt="Homelab Diagram" loading="lazy" src="https://eliorion.github.io/My-blog/11---posts/2025-09-02---network-configuration/diagram.png"&gt;
With this diagram you can see a simple usage of VM machine. But, I have personal conditions.&lt;br&gt;
I need to have a virtual network to have a stable IP of my node in my cluster. But, as you can see, in default with proxmox, you have one bridge created connect to the physical Ethernet port in the server. And, I change environnement to work in my office, and my home because I don&amp;rsquo;t have an internet box in there, so for connect my server to my PC, I need to connect the Ethernet ports of the server and my PC in direct.&lt;/p&gt;</description></item><item><title>First Step in Homelab world</title><link>https://eliorion.github.io/My-blog/11---posts/2025-09-01---first-step-in-homelab/</link><pubDate>Sun, 31 Aug 2025 14:51:29 +0200</pubDate><guid>https://eliorion.github.io/My-blog/11---posts/2025-09-01---first-step-in-homelab/</guid><description>&lt;h2 id="create-a-home-lab-to-learn-kubernetes"&gt;Create a Home Lab to Learn Kubernetes&lt;/h2&gt;
&lt;h3 id="why-learn-kubernetes"&gt;Why Learn Kubernetes?&lt;/h3&gt;
&lt;p&gt;swit
As a software engineer focused on low-level implementations, I realized I didn’t fully understand how modern cloud systems work, or how millions of users can access massive amounts of services without interruption. What fascinates me most is the elasticity of resource allocation.&lt;/p&gt;
&lt;p&gt;Think about Netflix: every evening, millions of people connect at the same time to watch their favorite series. This creates a huge traffic peak. Yet, everything runs smoothly without downtime.&lt;/p&gt;</description></item></channel></rss>