Blog

All posts

Blog

Technical deep-dives from building the minicloud platform — GitOps, Kubernetes, AI, and bare-metal engineering.

kubernetes
Self-Hosted Kubernetes: What I Built vs What OpenShift Ships

A layer-by-layer comparison between minicloud — a 5-node k3s cluster assembled from CNCF components — and OpenShift Container Platform (OCP) self-hosted. Same problems, different approaches: immutable nodes, control plane management, security posture, upgrades, and what each model teaches you.

k3s
openshift
okd
Jul 29, 202615 min read
kubernetes
Designing High Availability on Bare-Metal Kubernetes — Layer by Layer

HA on a self-managed k3s cluster is not one setting — it is six independent layers, each with a concrete trade-off. This post walks through every layer on minicloud, what was validated by a live chaos game day, and how the same concerns map to EKS, GKE, and AKS.

k3s
high-availability
bare-metal
Jul 28, 202614 min read
jitsi
Goodbye Microsoft Teams: Running Your Own Video Conferencing with Jitsi Meet on Kubernetes

A deep dive into self-hosting Jitsi Meet as a full Microsoft Teams replacement — architecture, WebRTC internals, Kubernetes deployment, Authentik SSO, and solving the SFR 5G DS-Lite CGNAT problem with a direct IPv6 media path. Everything you need to understand and build it yourself.

webrtc
kubernetes
self-hosted
Jul 28, 202619 min read
kubernetes
Your Kubernetes Cluster Doesn't Run etcd — Mine Doesn't Either

k3s replaces etcd with Kine/SQLite — one file on one machine. This post explains exactly what that means for backups, HA, and recovery on a bare-metal cluster, and contrasts it with how EKS, GKE, and AKS manage the same problem invisibly.

k3s
etcd
kine
Jul 28, 20269 min read
kubernetes
Kubernetes Upgrades: What Managed Providers Handle for You and What You Own Yourself

A concrete look at upgrading Kubernetes — comparing EKS, GKE, and AKS one-click upgrades against the system-upgrade-controller Plans and GitHub Actions automation I built for my 5-node bare-metal k3s cluster. Every decision documented, every gotcha included.

k3s
upgrades
platform-engineering
Jul 28, 202612 min read
kubernetes
Security Patching a Self-Managed Kubernetes Cluster — Five Layers, Zero Magic

On a managed Kubernetes provider, security patching is largely invisible. On a self-managed k3s cluster, you own every layer: OS kernel patches, k3s binary CVEs, container base images, Helm chart versions, and CIS posture drift. This post documents the full patching stack on minicloud — what runs automatically, what requires a PR, and how each layer compares to EKS, GKE, and AKS.

k3s
security
patching
Jul 28, 202617 min read
kubernetes
Self-Managed vs Managed Kubernetes: What Running Your Own Control Plane Actually Looks Like

A concrete comparison of running a k3s control plane on a ThinkPad versus EKS/GKE/AKS — grounded in a real bare-metal cluster, not theory. What you own, what breaks, and what you learn.

k3s
bare-metal
platform-engineering
Jul 26, 20268 min read
ai
Un modèle sort de l'entraînement à 28 Go. Tu le télécharges à 4.7 Go. Qui a fait la compression ?

La quantization ne sert pas qu'à réduire la RAM. Derrière cette technique, il y a trois objectifs concrets : démocratiser l'accès, accélérer l'inférence, et permettre le déploiement privé. Et entre le modèle sorti du labo et celui qui tourne sur ton cluster, il s'est passé beaucoup de choses.

llm
quantization
ollama
Jul 17, 20268 min read
ai
La quantization LLM démystifiée : comment faire tourner un 7B sur un ThinkPad

Un 7B en FP32 c'est 28 Go de RAM. Sur mon cluster ThinkPad, impossible. La quantization m'a permis de descendre à 4.7 Go sans perdre la qualité qui compte. Voici comment ça fonctionne.

llm
quantization
ollama
Jul 17, 20267 min read