Kubernetes operator that runs and autoscales self-hosted GitHub Actions runners as ephemeral containers.
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
Read the Operator SDK documentation website
- 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
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
A set of Go libraries for building Kubernetes controllers and operators, used as the foundation of Kubebuilder and Operator SDK.
A Kubernetes operator that deploys and manages Ray applications through RayCluster, RayJob and RayService resources.
A Kubernetes operator that deploys and manages K8sGPT, using an AI backend to diagnose cluster problems and optionally auto-remediate image pull failures.
A Kubernetes operator suite that automates deploying LLM inference, fine-tuning, and RAG services onto GPU nodes.
Command-line tool that generates API client SDKs, server stubs and HTML docs from an OpenAPI/Swagger definition.