<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Alp Celik</title><link>https://100vms.com/blog/</link><description>Recent content in Blog on Alp Celik</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 19 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://100vms.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Missing Piece of Kubernetes Operators</title><link>https://100vms.com/blog/missing-piece-of-kubernetes-operators/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://100vms.com/blog/missing-piece-of-kubernetes-operators/</guid><description>&lt;h2 id="introduction">Introduction&lt;a class="heading-anchor" href="#introduction" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>My journey with Kubernetes operators started more than three years ago, and
since then I&amp;rsquo;ve built a few more, mostly for managing external resources,
because I really like the idea of treating Kubernetes as a universal API.
Before getting to the point, I&amp;rsquo;d highly suggest reading through
&lt;a href="https://ahmet.im/blog/controller-pitfalls/">Ahmet&amp;rsquo;s blog post on controller pitfalls&lt;/a>
if you&amp;rsquo;re not familiar with the operator pattern, or if you want to see
some of the common mistakes in operator development. That post was the main
motivator for me to understand controller-runtime deeply and
eventually, to build
&lt;a href="https://github.com/alperencelik/kube-external-watcher">kube-external-watcher&lt;/a>,
which is what this post is about.&lt;/p></description></item></channel></rss>