A Python framework to write Kubernetes operators in just few lines of code.
TL;DR: Massive refactoring, renames, code moves. Generally, should be backward-compatible.
RISKY CHANGES (can be BREAKING, should be not):
pykube-ng
and kubernetes
clients are now piggybacked by default to extract the endpoints and credentials, but are not used for the API communication. This can break API connectivity in some cases. #226 #227@kopf.on.resume()
handlers were fixed, and can now execute when previously they were not executed by mistake, but this could be taken as an expected behaviour. This can lead to massive patches of all objects on every operator startup. #230cause.event
is renamed to cause.reason
to avoid terminology conflicts. #201New features:
@kopf.on.startup()
handlers for operator initialisation. #225@kopf.on.cleanup()
handlers for operator shutdown. #225@kopf.on.login()
custom authentication handlers. #226@kopf.on.probe()
handlers for liveness metrics. #226kopf run --liveness
. #228kopf.adopt()
and hierarchy methods, current object is used by default. #203retries=
limiter for handlers in addition to timeout=
. #222errors=TEMPORARY
, errors=PERMANENT
, errors=IGNORED
modes for handlers. #222Bugfixes:
@kopf.on.resume()
handlers are not repeated every few minutes for no reason. #229 #230@kopf.on.resume()
are executed if they go after the on-create/on-update handlers. #230@kopf.on.resume()
can be retried in case of temporary or arbitrary errors. #230@kopf.on.resume()
can have sub-handlers. #230@kopf.on.resume()
handlers. #230spec
, status
, metadata
fields are not added to the body when absent. #198Internal changes:
Bugfixes:
Internal changes:
Bugfixes:
Internal changes:
New features:
Improvements:
kopf --version
added. #175kopf.PermanentError/kopf.TemporaryError
. #159Bugfixes:
Internal changes:
Reverted:
Improvements:
Improvements:
kopf --version
added. #175Bugfixes:
Improvements:
Bugfixes:
New features:
Improvements:
kopf.PermanentError/kopf.TemporaryError
. #159Internal changes:
New feature: