Skip to content
This repository has been archived by the owner on Sep 14, 2020. It is now read-only.

Releases: zalando-incubator/kopf

0.19

18 Jul 09:55
e12c27b
Compare
Choose a tag to compare

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:

  • Internal K8s API client is switched from the official kubernetes-python top pykube-ng. #110
  • Code coverage is measured. #72 #146
  • E2E tests are stabilized. #149

0.19rc2

12 Jul 11:35
17c9871
Compare
Choose a tag to compare
0.19rc2 Pre-release
Pre-release

Bugfixes:

  • Operators die with socket timeout in 10s after starting. #144

0.19rc1

09 Jul 13:17
700c7d1
Compare
Choose a tag to compare
0.19rc1 Pre-release
Pre-release

Improvements:

  • Built-in resources (pods, namespaces) are now also supported. #110
  • Handlers' INFO+ log messages are sent as Kubernetes events implicitly. #128

Internal changes:

  • Switched the internal client from the official kubernetes-python top pykube-ng. #110
  • Code coverage is measured. #72

0.18

08 Jul 13:00
fac95fa
Compare
Choose a tag to compare

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

04 Jul 13:54
Compare
Choose a tag to compare

Hotfix:

  • Restrict to kubernetes<10.0.0 to keep Kopf runnable at all.

See: #134 and kubernetes-client/python#866

0.17

03 Jul 08:41
bdea97b
Compare
Choose a tag to compare

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 from kopf.reactor (peering & posting & logging).
    • kopf.utilities extracted from kopf.reactor (reacting to k8s changes).
    • kopf.clients is the new kopf.k8s (renamed).
    • kopf.clients.auth extracted from kopf.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

14 Jun 09:28
3a127e5
Compare
Choose a tag to compare

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", but event['type']==None). The watching continues from the resource-version of the list, as it must be by design. #105

0.15

14 Jun 09:03
18d6a81
Compare
Choose a tag to compare

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:

  • Maintenance docs, RBAC fixes in the docs, typos fixed. #83 #89 #102
  • Few more tests. #90 #91

The release is done as a rollback point from 0.16 if the resume-handlers introduce breaking changes (they shouldn't).

0.14

31 May 15:42
b8a8203
Compare
Choose a tag to compare

Bugfixes:

  • K8s events are now optional, if posting fails, the operator continues. #88
  • K8s events' messages are now cut to 1024 chars to prevent failures. #88

Other changes:

  • Internal refactoring of the @kopf.on.field() handler. #69
  • Internal refactoring of the cause detection & event handling. #82

0.13

28 May 14:46
813cf83
Compare
Choose a tag to compare

Bugs fixed:

  • Events are posted using v1 instead of v1beta1 API, making it compatible with Google Kubernetes Engine >=1.12. #81

Other changes:

  • Internal refactoring on the module imports & Kubernetes client calls. #78 #71