Skip to content

Releases: nolar/kopf

0.21rc1

18 Aug 22:14
d057ac9
Compare
Choose a tag to compare
0.21rc1 Pre-release
Pre-release

Originally released on 2019-08-07 17:45:34+00:00 (link).

New features:

Improvements:

  • Terminate the operator better, with graceful period for clean shutdown. #156
  • K8s-events for cluster-scoped objects are posted to the current namespace, not "default". #165
  • Kopf's handler errors renamed to kopf.PermanentError/kopf.TemporaryError. #159
  • Kopf's permanent/temporary errors do not dump strack-traces anymore. #159

Internal changes:

  • CodeCov PR comments disabled (to prevent spamming). #170
  • Some modules were moved around and split. #155

0.20

18 Aug 22:14
8da86a0
Compare
Choose a tag to compare

Originally released on 2019-07-24 09:25:51+00:00 (link).

New feature:

  • Decorator-level filtering of the objects by labels/annotations existence or values. #123

0.19

18 Aug 22:14
e12c27b
Compare
Choose a tag to compare

Originally released on 2019-07-16 10:09:39+00:00 (link).

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

18 Aug 22:14
17c9871
Compare
Choose a tag to compare
0.19rc2 Pre-release
Pre-release

Originally released on 2019-07-12 11:30:47+00:00 (link).

Bugfixes:

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

0.19rc1

18 Aug 22:14
700c7d1
Compare
Choose a tag to compare
0.19rc1 Pre-release
Pre-release

Originally released on 2019-07-09 13:11:00+00:00 (link).

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

18 Aug 22:14
fac95fa
Compare
Choose a tag to compare

Originally released on 2019-07-08 12:42:48+00:00 (link).

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

18 Aug 22:14
Compare
Choose a tag to compare

Originally released on 2019-07-04 12:45:51+00:00 (link).

Hotfix:

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

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

0.17

18 Aug 22:14
bdea97b
Compare
Choose a tag to compare

Originally released on 2019-07-03 08:23:43+00:00 (link).

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

18 Aug 22:14
3a127e5
Compare
Choose a tag to compare

Originally released on 2019-06-14 09:18:57+00:00 (link).

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

18 Aug 22:14
18d6a81
Compare
Choose a tag to compare

Originally released on 2019-06-13 16:14:01+00:00 (link).

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).