MCPcopy
hub / github.com/operator-framework/operator-sdk

github.com/operator-framework/operator-sdk @v1.42.3 sqlite

repository ↗ · DeepWiki ↗ · release v1.42.3 ↗
1,359 symbols 4,672 edges 320 files 669 documented · 49%
README

⚠️ IMPORTANT NOTICE: Images under gcr.io/kubebuilder/ Will Be Unavailable Soon

If your project uses gcr.io/kubebuilder/kube-rbac-proxy it will be affected. Your project may fail to work if the image cannot be pulled. You must move as soon as possible, sometime from early 2025, the GCR will go away.

The usage of the project kube-rbac-proxy was discontinued from Kubebuilder and Operator-SDK. It was replaced for similar protection using authn/authz via Controller-Runtime's feature WithAuthenticationAndAuthorization.

For more information and guidance see the discussion https://github.com/kubernetes-sigs/kubebuilder/discussions/3907

Build Status License

Documentation

Docs can be found on the Operator SDK website.

Overview

This project is a component of the Operator Framework, an open source toolkit to manage Kubernetes native applications, called Operators, in an effective, automated, and scalable way. Read more in the introduction blog post.

Operators make it easy to manage complex stateful applications on top of Kubernetes. However writing an Operator today can be difficult because of challenges such as using low level APIs, writing boilerplate, and a lack of modularity which leads to duplication.

The Operator SDK is a framework that uses the controller-runtime library to make writing operators easier by providing:

  • High level APIs and abstractions to write the operational logic more intuitively
  • Tools for scaffolding and code generation to bootstrap a new project fast
  • Extensions to cover common Operator use cases

Dependency and platform support

Go version

Release binaries will be built with the Go compiler version specified in the developer guide. A Go Operator project's Go version can be found in its go.mod file.

Kubernetes versions

Supported Kubernetes versions for your Operator project or relevant binary can be determined by following this compatibility guide.

Platforms

The set of supported platforms for all binaries and images can be found in these tables.

Community and how to get involved

How to contribute

Check out the contributor documentation.

License

Operator SDK is under Apache 2.0 license. See the LICENSE file for details.

Extension points exported contracts — how you extend this code

Generator (Interface)
Generator is an interface that specifies the Generate methods to generate and write various package manifests go:genera [3 …
internal/generate/packagemanifest/packagemanifest.go
ManagerFactory (Interface)
ManagerFactory creates Managers that are specific to custom resources. It is used by the HelmOperatorReconciler during r [1 …
internal/helm/release/manager_factory.go
PullRequestNumberGetter (Interface)
(no doc) [2 implementers]
release/changelog/internal/fragment.go
TestRunner (Interface)
(no doc) [2 implementers]
internal/scorecard/scorecard.go
CatalogCreator (Interface)
(no doc) [2 implementers]
internal/olm/operator/registry/catalog.go
MarshalFunc (FuncType)
(no doc)
internal/util/k8sutil/object.go
Option (FuncType)
Option is a function that modifies a Generator.
internal/generate/clusterserviceversion/clusterserviceversion.go
Manager (Interface)
Manager manages a Helm release. It can install, upgrade, reconcile, and uninstall a release. [1 implementers]
internal/helm/release/manager.go

Core symbols most depended-on inside this repo

Error
called by 167
internal/olm/client/client.go
CheckError
called by 97
hack/generate/samples/internal/pkg/utils.go
Run
called by 77
internal/scorecard/scorecard.go
Name
called by 53
internal/plugins/helm/v1/plugin.go
String
called by 48
internal/olm/client/status.go
Build
called by 34
internal/helm/client/client.go
WriteFile
called by 33
release/changelog/internal/changelog.go
String
called by 26
internal/olm/operator/registry/index_image.go

Shape

Function 639
Method 493
Struct 187
TypeAlias 22
Interface 11
FuncType 7

Languages

Go100%

Modules by API surface

internal/helm/release/manager.go34 symbols
internal/bindata/olm/manifests.go30 symbols
internal/generate/clusterserviceversion/clusterserviceversion_updaters.go23 symbols
internal/scorecard/scorecard.go22 symbols
internal/olm/operator/registry/index_image.go21 symbols
internal/olm/operator/registry/fbcindex/configMapWriter.go21 symbols
internal/olm/client/client.go20 symbols
hack/generate/samples/internal/go/memcached-with-customization/memcached_with_customization.go20 symbols
internal/generate/collector/manifests.go19 symbols
internal/olm/installer/client.go18 symbols
internal/generate/collector/clusterserviceversion_test.go17 symbols
release/changelog/internal/fragment.go16 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
dario.cat/mergov1.0.2 · 1×
github.com/AdaLogics/go-fuzz-headersv0.0.0-2024080614160 · 1×
github.com/Azure/go-ansitermv0.0.0-2025010203350 · 1×
github.com/BurntSushi/tomlv1.5.0 · 1×
github.com/MakeNowJust/heredocv1.0.0 · 1×
github.com/Masterminds/goutilsv1.1.1 · 1×
github.com/Masterminds/semver/v3v3.4.0 · 1×
github.com/Masterminds/sprig/v3v3.3.0 · 1×
github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/Microsoft/hcsshimv0.13.0 · 1×

For agents

$ claude mcp add operator-sdk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact