Nolar Kopf Versions Save

A Python framework to write Kubernetes operators in just a few lines of code

1.32.0

3 years ago

New features:

  • Rudimentary authentication from kubeconfig/serviceaccount with no pykube-ng/kubernetes libraries. #771

Bugfixes:

  • Restore specific groups for peering selectors to prevent whole-cluster API group scanning. #741
  • Fix an issue with Click 8.0.0 for custom type double-conversion. #769

Improvements:

  • Better typing for memos in strictly typed operators (no Union is needed). #747 #753
  • Better typing for daemon stopping flags in strictly typed operators. #757 #760
  • Actionable suggestions on 401 "Unauthenticated" API errors. #770
  • Expose Kopf's version in user-agent & in logs. #777

Contributor experience:

  • Remove leading zeros from IPv4 in tests (broken CI for Python >= 3.9.5). #750
  • Document the layered code architecture (with a picture). #766
  • Proper badge URL for README. #749
  • Lint the source code with pre-commit. #776 #778

Internal refactoring:

  • Rebalance the classes & modules massively — for cohesion and decoupling. #765 #766 #752 #761 #759 #763 #764 #751
  • Hide all internal modules & packages from users (via underscore-naming). #765
  • Rename internal entities to not mention "resource(s)" explicitly. #756
  • Fix the documentation cross-linking. #773
  • Correct some code-formatting and linting issues. #775
  • Parse E2E flags/configs with AST instead of RegExps. #733
  • Use only pure f-strings for logs, avoid %s/%r formatting. #772

1.32rc2

3 years ago

New features:

  • Rudimentary authentication from kubeconfig/serviceaccount with no pykube-ng/kubernetes libraries. #771

Improvements:

  • Actionable suggestions on 401 "Unauthenticated" API errors. #770
  • Expose Kopf's version in user-agent & in logs. #777

Contributor experience:

  • Lint the source code with pre-commit. #776 #778

Internal refactoring:

  • Fix the documentation cross-linking. #773
  • Correct some code-formatting and linting issues. #775
  • Parse E2E flags/configs with AST instead of RegExps. #733
  • Use only pure f-strings for logs, avoid %s/%r formatting. #772

1.32rc1

3 years ago

Bugfixes:

  • Restore specific groups for peering selectors to prevent whole-cluster API group scanning. #741
  • Fix an issue with Click 8.0.0 for custom type double-conversion. #769

Improvements:

  • Better typing for memos in strictly typed operators (no Union is needed). #747 #753
  • Better typing for daemon stopping flags in strictly typed operators. #757 #760

Internal refactoring:

  • Rebalance the classes & modules massively — for cohesion and decoupling. #765 #766 #752 #761 #759 #763 #764 #751
  • Hide all internal modules & packages from users (via underscore-naming). #765
  • Rename internal entities to not mention "resource(s)" explicitly. #756

Contributor experience:

  • Remove leading zeros from IPv4 in tests (broken CI for Python >= 3.9.5). #750
  • Document the layered code architecture (with a picture). #766
  • Proper badge URL for README. #749

1.31.0

3 years ago

New features:

  • Validating/mutating admission webhooks: #708 #724 #721 #736
    • With a built-in server.
    • With self-signed certificates for dev-mode.
    • With tunnelling via external systems (now: ngrok).
    • With auto-detection of the best server/tunnel for the cluster.
    • With automatic management of webhook configurations in the cluster.
    • Documentation: https://kopf.readthedocs.io/en/stable/admission/

Improvements:

  • Kopf exports types for type-checking. Thanks to @SergeyTsaplin #704 #720 #722

Bugfix:

  • Solved K8s API flooding with endless dummy-patching in certain conditions. Many thanks to @paxbit! #731 #728 #686
  • Fix absent namespaces for cluster-scoped resources in hierarchies. #726 #727
  • Extra characters are properly encoded in annotations. Thanks to @silveryfu. #713

Contributor experience:

  • Drop Kubernetes 1.14 support. #723
  • Add Kubernetes 1.21 support. #737
  • Examples are now type-checked too (non-strict). #704

1.31rc3

3 years ago

Bugfixes:

  • Solved K8s API flooding with endless dummy-patching in certain conditions. Many thanks to @paxbit! #731 #728 #686

1.31rc2

3 years ago

Bugfix:

  • Fix absent namespaces for cluster-scoped resources in hierarchies. #726 #727

1.30.3

3 years ago

Bugfix:

  • Fix absent namespaces for cluster-scoped resources in hierarchies. #726

1.31rc1

3 years ago

New features:

  • Validating/mutating admission webhooks: #708 #724 #721
    • With a built-in server.
    • With self-signed certificates for dev-mode.
    • With tunnelling via external systems (now: ngrok).
    • With auto-detection of the best server/tunnel for the cluster.
    • With automatic management of webhook configurations in the cluster.
    • Documentation: https://kopf.readthedocs.io/en/latest/admission/

Improvements:

  • Kopf exports types for type-checking. Thanks to @SergeyTsaplin #704 #720 #722

Contributor experience:

  • Drop Kubernetes 1.14 support. #723
  • Examples are now type-checked too (non-strict). #704

1.30.2

3 years ago

Documentation only (to rebuild ReadTheDocs):

  • Grammar and style fixes in the documentation. #717

1.30.1

3 years ago

Bugfixes:

  • Hotfix an "unexpected kwarg" error for indexing when peering is enabled. #712

Contribution workflow:

  • The master branch is renamed to main. #711
  • Kubernetes 1.13 is disabled (not supported by Minikube, broke the CI). #709
  • Kubernetes 1.20 is enabled, others are upgraded on micro-versions. #709