Releases: coryodaniel/bonny
v1.4.0
Added
- Added telemetry events to the Operator module - #244
## Chores
- Bump owl from 0.7.0 to 0.8.0 by @dependabot in #237
- Bump credo from 1.7.0 to 1.7.1 by @dependabot in #236
- Bump excoveralls from 0.17.1 to 0.18.0 by @dependabot in #238
- Bump ex_doc from 0.30.6 to 0.30.7 by @dependabot in #239
- Bump k8s from 2.4.1 to 2.4.2 by @dependabot in #242
- Bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in #243
- Bump dialyxir from 1.4.1 to 1.4.2 by @dependabot in #240
- Bump ex_doc from 0.30.7 to 0.30.9 by @dependabot in #241
- Bump ymlr from 4.2.0 to 5.0.0
New Contributors
- @rafaelgaspar made their first contribution in #244
Full Changelog: v1.3.0...v1.4.0
v1.3.0
Changed
Bonny.Axn.register_descendant/3
- Add optiongroup
to define in what group to apply a descendant and apply descendants in groups.
Chores
- Bump jason from 1.4.0 to 1.4.1 by @dependabot in #219
- Bump ex_doc from 0.29.4 to 0.30.3 by @dependabot in #220
- Bump k8s from 2.3.0 to 2.4.0 by @dependabot in #217
- Bump ex_doc from 0.30.3 to 0.30.4 by @dependabot in #221
- Bump excoveralls from 0.16.1 to 0.17.0 by @dependabot in #223
- Bump ex_doc from 0.30.4 to 0.30.5 by @dependabot in #222
- Bump ymlr from 4.1.0 to 4.2.0 by @dependabot in #224
- Bump k8s from 2.4.0 to 2.4.1 by @dependabot in #225
- Bump mix_test_watch from 1.1.0 to 1.1.1 by @dependabot in #230
- Bump actions/checkout from 3.5.3 to 4.0.0 by @dependabot in #233
- Bump actions/checkout from 4.0.0 to 4.1.0 by @dependabot in #235
- Bump ex_doc from 0.30.5 to 0.30.6 by @dependabot in #229
- Bump dialyxir from 1.3.0 to 1.4.1 by @dependabot in #231
- Bump excoveralls from 0.17.0 to 0.17.1 by @dependabot in #228
Full Changelog: v1.2.1...v1.3.0
v1.2.1
v1.2.0
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
- Bump dialyxir from 1.2.0 to 1.3.0 by @dependabot in #208
- Bump ymlr from 3.0.1 to 4.0.0 by @dependabot in #209
- Bump actions/checkout from 1.0.0 to 3.5.2 by @dependabot in #210
- Bump k8s from 2.2.0 to 2.3.0 by @dependabot in #211
- Run tests on OTP26 by @mruoss in #214
- Bump actions/checkout from 3.5.2 to 3.5.3 by @dependabot in #215
New Contributors
- @akasprzok made their first contribution in #212
Full Changelog: v1.1.3...v1.2.0
v1.1.3
What's Changed
Chores
- Bump ex_doc from 0.29.2 to 0.29.3 by @dependabot in #200
- Bump owl from 0.6.1 to 0.7.0 by @dependabot in #202
- Bump ex_doc from 0.29.3 to 0.29.4 by @dependabot in #204
- Bump k8s from 2.1.1 to 2.2.0 by @dependabot in #206
- Bump credo from 1.6.7 to 1.7.0 by @dependabot in #201
- Bump excoveralls from 0.16.0 to 0.16.1 by @dependabot in #205
Thanks
Full Changelog: v1.1.2...v1.1.3
v1.1.2
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
- Adds simple leader election implementation by @mruoss in #195
- Bump ex_doc from 0.29.1 to 0.29.2 by @dependabot in #196
- Bump excoveralls from 0.15.3 to 0.16.0 by @dependabot in #198
- Bump k8s from 2.1.0 to 2.1.1 by @dependabot in #197
Full Changelog: v1.1.1...v1.1.2
v1.1.1
v1.1.0
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 CRDBonny.Axn.set_condition/4
- Helper to set a condition on a resource
Bonny.Pluggable.Finalizer
- A pluggable step to define and implement finalizers, #6, #189Bonny.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
- Bump owl from 0.6.0 to 0.6.1 by @dependabot in #185
- switch from k3d to kind for integration tests by @mruoss in #187
Full Changelog: v1.0.1...v1.1.0
v1.0.1
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
- Bump excoveralls from 0.15.0 to 0.15.1 by @dependabot in #171
- Bump k8s from 1.1.10 to 1.2.0 by @dependabot in #172
- Bump owl from 0.5.1 to 0.6.0 by @dependabot in #174
- Bump telemetry from 1.1.0 to 1.2.0 by @dependabot in #175
- Bump excoveralls from 0.15.1 to 0.15.2 by @dependabot in #176
- Bump telemetry from 1.2.0 to 1.2.1 by @dependabot in #177
- Bump excoveralls from 0.15.2 to 0.15.3 by @dependabot in #178
New Contributors
- @kbredemeier made their first contribution in #181
Full Changelog: v1.0.0...v1.0.1
v1.0.0
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
(thinkPlug
)
library is used withBonny.Axn
as token to processADDED
,MODIFIED
,
DELETED
and reconciliation events byPluggable
pipelines. Bonny.ControllerV2
was introduced as a successor toBonny.Controller
. It leverages
Pluggable.StepBuilder
(thinkPlug.Builder
) to build a pluggable pipeline.Bonny.Event
andBonny.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 ofPlug.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