Repolode
operator-framework

operator-framework/operator-sdk

A Go SDK for building Kubernetes Operators, offering high-level APIs, scaffolding and code generation on top of controller-runtime.

Stars
7,690
Forks
1,779
Open issues
81
Last commit
17 days ago

What is it?

Operator SDK is a framework for writing Kubernetes Operators, which are controllers that manage complex, stateful applications on top of Kubernetes. Writing an Operator directly against low-level APIs involves a lot of boilerplate and duplicated code, and this SDK aims to reduce that work.

The SDK is built on the controller-runtime library. It provides high-level APIs and abstractions for writing reconciliation logic, tools for scaffolding and code generation to bootstrap new projects, and extensions for common Operator use cases. It is a component of the broader Operator Framework project.

Projects built with the SDK target Kubernetes, and the repository documents Go version and Kubernetes version compatibility as well as supported platforms for its binaries and images.

Key features

  • 01Provides high-level APIs and abstractions for Operator reconciliation logic.
  • 02Scaffolds new Operator projects and generates code to speed up setup.
  • 03Built on the controller-runtime library.
  • 04Includes extensions for common Operator use cases.

Use cases

  • Building a custom Kubernetes Operator to automate deployment and management of a stateful application.
  • Bootstrapping a new Go-based Operator project with generated scaffolding.
  • Adding operational automation such as upgrades or backups to services running on Kubernetes.

Quick start

  1. 1

    Read the Operator SDK documentation website

  2. 2

    Check the developer guide prerequisites for the required Go version

Things to know

  • The README contains a notice that gcr.io/kubebuilder images, including kube-rbac-proxy, will become unavailable, so projects using them must migrate.

Topics

#kubernetes#operator#go#controller-runtime#code-generation#scaffolding#sdk

FAQ

What is operator-sdk?
A Go SDK for building Kubernetes Operators, offering high-level APIs, scaffolding and code generation on top of controller-runtime. Operator SDK is a framework for writing Kubernetes Operators, which are controllers that manage complex, stateful applications on top of Kubernetes. Writing an Operator directly against low-level APIs involves a lot of boilerplate and duplicated code, and this SDK aims to reduce that work.
Is operator-sdk free to use? What license does it have?
operator-sdk is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is operator-sdk still maintained?
Actively maintained. The last commit to operator-sdk was on Oct 21, 2026.
What can I use operator-sdk for?
Building a custom Kubernetes Operator to automate deployment and management of a stateful application. Bootstrapping a new Go-based Operator project with generated scaffolding. Adding operational automation such as upgrades or backups to services running on Kubernetes.
How do I install operator-sdk?
Read the Operator SDK documentation website Check the developer guide prerequisites for the required Go version
Where can I get operator-sdk?
The source code and installation instructions are on GitHub: https://github.com/operator-framework/operator-sdk

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects