Writing an Operator from scratch

This page summarizes the projects mentioned and recommended in the original post on /r/kubernetes

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. kubebuilder

    Kubebuilder - SDK for building Kubernetes APIs using CRDs

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. kubernetes

    Production-Grade Container Scheduling and Management

    The CSR cleaner is one of the more straightforward controllers you will find in k8s source.

  4. tgik-controller

    Example controller for TGIK talk

  5. sample-controller

    Repository for sample controller. Complements sample-apiserver

    The most low-level approach I have seen is using the client-go package. Both kubebuilder and controller-runtime are based on this package. You can see an official example here: https://github.com/kubernetes/sample-controller/blob/master/docs/controller-client-go.md But even that sample requires some code generation on top of it https://cloud.redhat.com/blog/kubernetes-deep-dive-code-generation-customresources

  6. metacontroller

    Writing kubernetes controllers can be simple

    Codegen is not magic, but if you want to make it simple stupid, supportable and prod-usable I'd go for metacontroller. There's not much magic to it - just common admission/validation webhooks propagated to your controller implementation, alongside the simplest possible reconciliation cycle. We had adopted Knative driven metacontrollers and it's a pretty solid approach.

  7. kopf

    Discontinued A Python framework to write Kubernetes operators in just few lines of code. (by zalando-incubator)

    Zalando's had been archived since 2020, and Nolar's one has some bugs (I mean a lot).They're mostly updating deps and bumping k8s support, instead of fixing actual pending issues - you have to fix anything and everything on your own ...

  8. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Golang Design Patterns in Kubernetes Codebase

    7 projects | dev.to | 22 Nov 2021
  • Show HN: Kubernetes Spec Explorer

    3 projects | news.ycombinator.com | 12 Dec 2024
  • How to add Kubernetes-powered leader election to your Go apps

    2 projects | dev.to | 19 Jul 2024
  • Why did Windows 7 log on slower if you have a solid color background?

    2 projects | news.ycombinator.com | 29 Apr 2025
  • Local Kubernetes Development Made Easy with Telepresence Replace Mode

    1 project | dev.to | 27 Apr 2025