↓Skip to main content
Pim Widdershoven

Pim Widdershoven

IT / Solution Architect | Engineer at Heart | Cloud, Platform, Security, DevOps

Recent

Kata Containers: sandboxing AI agents and CI pipelines

·11 mins
Standard containers share one kernel with everything else on the node, which is a risk for code that can’t be trusted. This post explains how Kata Containers gives each pod its own kernel, what that costs, and how I use it to run CI pipelines and AI agents in it, sandboxed.

GitOps as an audit trail: why a Git log beats a ticket system

·13 mins
Most teams treat audit evidence as paperwork they assemble after the fact. With GitOps the evidence is a side effect of how you already deploy. This post explains GitOps in plain terms, why a signed and reviewed change history is stronger proof than a ticket, and how to handle the two cases that still break it: emergency changes and drift.

Two GitOps controllers, two layers: FluxCD for the foundation, ArgoCD for applications

·12 mins
With Talos, Cilium, Linstor, and cert-manager in place, the cluster has infrastructure but no principled way to operate it. This post adds GitOps: FluxCD for the foundation layer where ordering and simplicity matter, ArgoCD for the application layer where a UI and per-project scoping matter more. The bootstrap sequence that hands control from a script to a Git repo, the self-management property that follows, and what GitOps does not tell you about developing against it.

Bootstrapping trust in a Kubernetes cluster: cert-manager, an internal CA, and kubelet TLS

·15 mins
A cluster with networking and storage still serves most of its TLS endpoints with self-signed certificates. This post wires up the trust layer: cert-manager with a bootstrapped internal CA, trust-manager to distribute the bundle to every namespace, Let’s Encrypt over Gateway API for the public edge, and a CSR approver so the kubelet finally gets a serving cert that something can verify.

Storage on Talos Linux with Linstor and DRBD

·15 mins
Linstor with DRBD is the simplest path to replicated block storage on a homelab cluster. This post covers partitioning Talos disks, getting Piraeus running on an immutable OS, configuring StorageClasses with sensible DRBD quorum defaults, and wiring up snapshots through external-snapshotter.