This repository has been archived by the owner on Sep 14, 2020. It is now read-only.
Releases: zalando-incubator/kopf
Releases · zalando-incubator/kopf
0.19
New features:
- Built-in resources (pods, services, namespaces) are now supported. #110
- Per-object messages logged via
logger
kwarg (INFO+ level) are sent as Kubernetes events implicitly. #128 #148
Improvements:
- Almost proper operator termination on SIGINT/SIGTERM. #147 #151
- Note: blocking socket reads are not yet fixed and can freeze on exit.
Internal changes:
0.19rc2
0.19rc1
0.18
Improvements:
- Finalizer is not added if there are no deletion handlers. #118
- Deletion handlers can be optional to prevent adding finalizer. #118
- Script's dir is added to import paths to mimic Python's behaviour. #93 #133
.status
is ignored in the last-handled state checks (except for fields used in field-handlers). #131.metadata
is ignored in the last-handled state checks (except for labels & annotations). #131- Operator freezes if the same-priority operator appears (previously, only warned). #114
Bugfixes:
- The peering self-record was not properly removed on exit. #114
- Restrict to
kubernetes<10.0.0
to keep Kopf runnable at all. #134
Internal changes:
- Examples can now have their own dedicated tests. #126
0.17.post1
Hotfix:
- Restrict to
kubernetes<10.0.0
to keep Kopf runnable at all.
See: #134 and kubernetes-client/python#866
0.17
Improvements:
- Performance improvements when handling hundreds of resources. #109
Internal changes:
- Internal (non-public) packages restructured — to deal with the growing complexity. #124
kopf.engines
extracted fromkopf.reactor
(peering & posting & logging).kopf.utilities
extracted fromkopf.reactor
(reacting to k8s changes).kopf.clients
is the newkopf.k8s
(renamed).kopf.clients.auth
extracted fromkopf.config
(only auth-related routines).kopf.config
got the configuration constants from all over the code.
- New configuration added:
- Configurable timeouts and thread pool sizes.
- Configurable level of k8s-events posted; others are skipped.
- Everything has been made asynchronous:
- All internal K8s API wrappers/adapters are made async.
- All blocking operations (incl. API requests) moved to thread pools.
- All k8s-event posting is done via a queue with a background posting task. #125
0.16
New features:
- Resource "resuming" handlers
@kopf.on.resume
for threads/tasks. #105
Internal changes:
- Tests and docs for RBAC status codes for peering. #95
- Handlers are de-duplicated if registered twice and both do match the event/cause. #105
- The initial listing of objects is done separately from watching the objects, and is fed into the reactor differently (not
event['type']=="ADDED"
, butevent['type']==None
). The watching continues from the resource-version of the list, as it must be by design. #105
0.15
New features:
- Silent spy-handlers
@kopf.on.event
(currently only for custom resources). #86 - Labels can now be added recursively (e.g. to pod templates within jobs/deployments). #108
Improvements:
- Diffs are logged on update events. #104
- Handling is skipped if there are no handlers for the event/cause (and produces no fake logs/statuses). #103
Internal changes:
The release is done as a rollback point from 0.16 if the resume-handlers introduce breaking changes (they shouldn't).