Skip to content

Releases: coryodaniel/bonny

v1.4.0

04 Nov 13:14
3a8bf8f
Compare
Choose a tag to compare

Added

  • Added telemetry events to the Operator module - #244

## Chores

New Contributors

Full Changelog: v1.3.0...v1.4.0

v1.3.0

25 Sep 15:47
dfad5d8
Compare
Choose a tag to compare

Changed

  • Bonny.Axn.register_descendant/3 - Add option group to define in what group to apply a descendant and apply descendants in groups.

Chores

Full Changelog: v1.2.1...v1.3.0

v1.2.1

26 Jun 20:29
b3f7c50
Compare
Choose a tag to compare

Fixed

  • BONNY_OPERATOR_NAME env var is not a reference

v1.2.0

13 Jun 18:11
ec81019
Compare
Choose a tag to compare

Changed

  • Start leader election by default - #195

Fixed

  • mix bonny.gen.manifest - Merge RBAC rules for the same resources - #213
  • Compile time dependency at runtime - #212 by @akasprzok

Chores

New Contributors

Full Changelog: v1.1.3...v1.2.0

v1.1.3

09 Apr 18:29
c581e9b
Compare
Choose a tag to compare

What's Changed

  • Leader Election: Add missing permission to access leases by @mruoss in #207

Chores

Thanks

  • @sleipnir for testing leader election and raising the issue solved by #207

Full Changelog: v1.1.2...v1.1.3

v1.1.2

07 Mar 06:31
a5ca53a
Compare
Choose a tag to compare

Added

  • Simple leader election for running multiple replicas (BETA) - #195

Fixes

  • Fix for an issue reported in #180 already: Add operator name as env variable to deployment.

Chores

Full Changelog: v1.1.1...v1.1.2

v1.1.1

24 Feb 18:56
41239a4
Compare
Choose a tag to compare

Fixed

  • Bonny.Pluggable.Finalizer - Remove finalizers from resource if they need to be removed.
  • Bonny.Axn - Fix by @sleipnir for a regression where descendants were not applied - #192, #191

Full Changelog: v1.1.0...v1.1.1

v1.1.0

22 Feb 10:07
f9bc60a
Compare
Choose a tag to compare

This release updates its dependency on k8s to a new major version (2.x). If you're using k8s directly in your code, you should have added it explicitely to your dependencies in mix.exs and this update will fail until you update that dependency manually. If you're using k8s directly in your code but you haven't added it explicetly to your list of dependencies, you might get surprises as 2.x comes with (yet few) breaking changes.
The most likely problem to occur is a Handshake Failure when working with local clusters. Its easily fixed, please follow the instructions on the k8s migration guide.

Fixed

  • Prevent duplicate descendants

Changed

  • Upgraded k8s dependency to 2.x. #173

Added

  • Bonny.Pluggable.AddMissingGVK - A pluggable step for adding missing GVK information to resources - #184, #183
  • Helpers to define conditions on custom resources. #188
    • Bonny.API.Version.add_conditions/1 - Helper to define a schema for conditions on the CRD
    • Bonny.Axn.set_condition/4 - Helper to set a condition on a resource
  • Bonny.Pluggable.Finalizer - A pluggable step to define and implement finalizers, #6, #189
  • Bonny.Axn.register_after_processed/2 - Registers a callback to be invoked at the very end of an action event's processing by the operator

Chores

Full Changelog: v1.0.1...v1.1.0

v1.0.1

04 Feb 09:48
5ae8aff
Compare
Choose a tag to compare

What's Changed

  • Fixes Typo in Application Template by @kbredemeier in #181
  • Don't add operator to supervision tree in :test env per default

Chores

New Contributors

Full Changelog: v1.0.0...v1.0.1

v1.0.0

28 Nov 07:56
Compare
Choose a tag to compare

With Version 1.0.0, Bonny got a thorough refactoring. Besides this changelog,
you might consider the several guides (e.g. the migration guide)

  • Bonny.Operator was introduced as an entry point to the watching and handling
    of processes. Your controllers are not more added to the supervision tree by
    bonny. Instead you must create an operator and add that to your application's
    supervision tree.
  • The Pluggable (think Plug)
    library is used with Bonny.Axn as token to process ADDED, MODIFIED,
    DELETED and reconciliation events by Pluggable pipelines.
  • Bonny.ControllerV2 was introduced as a successor to Bonny.Controller. It leverages
    Pluggable.StepBuilder (think Plug.Builder) to build a pluggable pipeline.
  • Bonny.Event and Bonny.EventRecorder were introducd for Kubernetes
    event creation (#156, #5)

Why this refactoring?

  • Allows for better CRD and API version definitions
  • With a Pluggable architecture, controllers are much easier to test (Think of Plug.Conn tests)
  • The Pluggable architecture makes your processing pipelines composable and simpler to customize/extend
  • Decoupling of manifest generation and action event processing
  • Internally, the amount of macros was reduced which makes Bonny easier to understand and maintain