Kopf: Kubernetes Operators Framework
Please do not use Kopf, it is a nightmare of controller bad practices and some of its implicit behaviors will annihilate your API server. The individual handler approach it encourages is the exact opposite of how you should write a Kubernetes controller. Like fundamentally it teaches you the exact opposite mindset you should be in. Using Kopf legitimately has taken years off my life and it took down our clusters several times because of poor code practices on our side and sh***y defaults on its end. We have undergone the herculean effort to move all our controllers to pure golang and the result has been a much more stable ecosystem. /Jmc_da_boss/
Think twice before you step into this territory. You were warned!
And now, after this honest and so far the best summarizing and publicly available feedback, comes the Dark Side (with cookies) 😈
- Minikube
- Contributing
- Architecture
- kopf package
register()
execute()
daemon()
timer()
index()
configure()
LogFormat
login_via_pykube()
login_via_client()
login_with_kubeconfig()
login_with_service_account()
LoginError
ConnectionInfo
event()
info()
warn()
exception()
spawn_tasks()
run_tasks()
operator()
run()
adopt()
label()
not_()
all_()
any_()
none_()
get_default_lifecycle()
set_default_lifecycle()
build_object_reference()
build_owner_reference()
append_owner_reference()
remove_owner_reference()
ErrorsMode
AdmissionError
WebhookClientConfigService
WebhookClientConfig
UserInfo
WebhookFn
WebhookServer
WebhookK3dServer
WebhookMinikubeServer
WebhookNgrokTunnel
WebhookAutoServer
WebhookAutoTunnel
PermanentError
TemporaryError
HandlerTimeoutError
HandlerRetriesError
OperatorRegistry
get_default_registry()
set_default_registry()
OperatorSettings
DiffBaseStorage
AnnotationsDiffBaseStorage
StatusDiffBaseStorage
MultiDiffBaseStorage
ProgressRecord
ProgressStorage
AnnotationsProgressStorage
StatusProgressStorage
MultiProgressStorage
SmartProgressStorage
RawEvent
RawBody
Status
Spec
Meta
Body
BodyEssence
ObjectReference
OwnerReference
Memo
Index
Store
ObjectLogger
LocalObjectLogger
Diff
DiffItem
DiffOperation
Reason
Patch
DaemonStoppingReason
Resource
- Submodules