SPIFFE workload identity visualisatie

SPIFFE en SPIRE: zero trust service identity

Hoe weet Service A dat Service B echt Service B is? Ik blijf bij die vraag terugkomen, want het gangbare antwoord is ongemakkelijk. Jarenlang vertrouwden we op netwerklocatie. Traffic van het juiste IP was legitiem, klaar. Zero trust nam die aanname mee naar buiten en schoot hem dood. Nu moet elke service bewijzen wie hij is, bij elk request, ongeacht waar hij op het netwerk zit. Dat klinkt prima op een slide. Het lastige is het bewijs. Hoe laat een pod werkelijk zijn identiteit zien aan een andere pod, zonder dat ik overal met de hand secrets uitdeel en daarna eindeloos hun rotatie zit te bewaken? ...

26 juli 2025 · 11 min leestijd · Tom Meurs
Kyverno policy governance visualisatie

Kyverno policies: governance as code voor Kubernetes

Ik had ooit een wiki-pagina met de titel “Cluster conventies”. Resource limits op alles. Geen :latest tags. Geen deploys in de default namespace. Het was een prima pagina. Niemand las hem. Na een half jaar overtrad de helft van het cluster die regels, en ik kwam er pas achter toen er iets omviel. Een regel die in een doc leeft is een suggestie. Een regel die de API server weigert te accepteren is governance. Dat gat is precies waarom deze post bestaat. ...

14 juli 2025 · 12 min leestijd · Tom Meurs
Vault secrets management visualisatie

Vault voor beginners: secrets management in Kubernetes

De eerste keer dat ik kubectl get secret myapp -o yaml draaide en de waarde base64-decodeerde, zakte mijn maag. Daar stond mijn database-wachtwoord, gewoon in etcd, leesbaar voor iedereen die met de juiste RBAC bij de API kon. Kubernetes Secrets zijn geen secrets. Het is base64-gecodeerde platte tekst met een mooie naam. Dat is de default, en het is precies het ding waar niemand je op dag één voor waarschuwt. ...

2 juli 2025 · 14 min leestijd · Tom Meurs
Kubernetes Network Policies visuele handleiding

Kubernetes Network Policies: een visuele handleiding voor pod security

Stel je dit voor: een aanvaller kraakt één pod in je cluster, via een kwetsbare image of een gelekte token. Vanuit dat ene bruggenhoofd kan deze elke database, elke interne API en elke secret-ophalende sidecar bereiken die je draait. Niets houdt hem tegen, want standaard probeert niets dat. Network Policies zijn precies het ding dat hem tegenhoudt. Ze maken van “één gecompromitteerde pod” gewoon “één gecompromitteerde pod, en daar blijft het bij.” Iedereen weet dat ze ze zouden moeten gebruiken. Bijna niemand doet het echt, want de YAML ziet er eng uit en het gedrag is raar tot het mentale model klikt. ...

8 februari 2025 · 9 min leestijd · Tom Meurs