A Python framework to write Kubernetes operators in just a few lines of code
MIT License
Bot releases are visible (Hide)
Published by nolar about 4 years ago
Originally released on 2019-10-23 17:19:02+00:00 (link).
Bugfixes:
Internal changes:
Published by nolar about 4 years ago
Originally released on 2019-11-13 14:07:04+00:00 (link).
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:
Published by nolar about 4 years ago
Originally released on 2019-11-15 11:42:02+00:00 (link).
Internal changes:
kex
as an alias for KopfExample
CRD for demos/docs. #235Published by nolar about 4 years ago
Originally released on 2019-11-20 10:15:07+00:00 (link).
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 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 resumable objects on every operator startup (if there are 2+ handlers), which can be a problem in huge clusters. #230 #236New 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
. #228memo
kwargs to keep runtime-only operator-lifetime-limited arbitrary values. #234retries=
limiter for handlers in addition to timeout=
. #222errors=TEMPORARY
, errors=PERMANENT
, errors=IGNORED
modes for handlers. #222kopf.adopt()
and hierarchy methods, current object is used by default. #203Bugfixes:
@kopf.on.resume()
handlers fixed:
spec
, status
, metadata
fields are not added to the body
when originally absent. #198Internal changes:
cause.event
is renamed to cause.reason
to avoid terminology conflicts. #201kex
is added as an alias for KopfExample
CRD for demos/docs. #235Published by nolar about 4 years ago
Originally released on 2019-12-19 13:44:56+00:00 (link).
Improvements:
cooldown
is renamed to backoff
to match the usual terminology. #266Bugfixes:
Internal changes:
Published by nolar about 4 years ago
Originally released on 2019-12-19 13:44:56+00:00 (link).
Improvements:
cooldown
is renamed to backoff
to match the usual terminology. #266Bugfixes:
Internal changes:
Published by nolar about 4 years ago
Originally released on 2020-01-17 16:32:12+00:00 (link).
New features:
when=
option. #258 #288Bugfixes:
Internal improvements:
Published by nolar about 4 years ago
Originally released on 2020-01-29 14:04:33+00:00 (link).
New features:
when=
option. #258 #288Bugfixes:
Internal improvements:
Published by nolar about 4 years ago
Originally released on 2020-02-20 16:05:16+00:00 (link).
Improvements:
Authorization:
and other HTTP headers in logs. #306CI/CD automation:
Internal changes:
Published by nolar about 4 years ago
Originally released on 2020-02-20 16:05:16+00:00 (link).
Improvements:
Authorization:
and other HTTP headers in logs. #306CI/CD automation:
Internal changes:
Published by nolar about 4 years ago
Originally released on 2020-04-01 10:17:05+00:00 (link).
WARNING: The changes are backward-compatible (in theory). But the changes are also massive, so things can break unexpectedly (in practice). Test this upgrade carefully.
New features:
@kopf.daemon
for background resource-accompanying tasks/threads. #330@kopf.timer
for regular and/or delayed activities & checks. #330kopf.PRESENT
for labels/annotations filters (instead of misleading None
). #327kopf.ABSENT
for labels/annotations filters. #327Improvements:
Fixes:
Internal changes:
Published by nolar about 4 years ago
Originally released on 2020-04-07 12:07:16+00:00 (link).
Improvements:
Fixes: