Releases: coryodaniel/bonny
Releases · coryodaniel/bonny
v1.0.0-rc.2
Added
Bonny.Pluggable.AddManagedByLabelToDescendants
- Adds theapp.kubernetes.io/managed-by
label to all descendants registered within the pipeline.- Allow
nil
and{controller :: module(), init_opts :: keyword()}
in the operator'scontrollers/2
callback.
Fixed
K8sConn
- Implement spec correctly.
Changed
Bonny.Axn.apply_descendants/N
,Bonny.Axn.apply_status/N
- Raise upon error.- fix: Some typos by @adriffaud in #168
New Contributors
- @adriffaud made their first contribution in #168
Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2
v1.0.0-rc.1
Added
- Better logs in case of errors while applying status, descendants or events
- Integration tests for these logs
v1.0.0-rc.0
With Version 1.0.0, Bonny got a thorough refactoring. You might consider reading 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 - Manifest generation and event processing were decoupled
- Internally, the amount of macros was reduced which makes Bonny easier to maintain
Added
Bonny.Pluggable.SkipObservedGenerations
- halts the pipelines for a defined list of actions if the observed generation equals the resource's generation.Bonny.Pluggable.ApplyDescendants
- applies all the descendants added to the%Bonny.Axn{}
struct.Bonny.Pluggable.ApplyStatus
- applies the status of the given%Bonny.Axn{}
struct to the status subresource.Bonny.Pluggable.Logger
- logs an action event and when status, descendants and events are applied to the cluster. If desired, it makes sense to be placed as first step in your operator pipeline but can also be added to a controller pipeline.Bonny.Resource.add_owner_reference/3
used to add the owner reference to resources created by the controller. (#147)- An integration test suite was added that runs tests against a "real" kubernetes cluster on the CI pipeline (#146, #84)
- Mix task for initializing a new operator
mix bonny.init
(#160, #67)
Deprecated
Bonny.Controller
was deprecated in favor of the new design with
Bonny.Operator
andBonny.ControllerV2
v0.5.2
What's Changed
- Bump ymlr from 1.1.0 to 3.0.0 by @dependabot in #137
- Github actions maintenance by @mruoss in #138
- Fix typo by @sleipnir in #140
- Use name instead of service account by @sleipnir in #142
- Fix CRD apiextensions.k8s.io/v1 generation refs #117, #101 by @mruoss in #143
- prepare version 0.5.2 by @mruoss in #145
New Contributors
Full Changelog: v0.5.1...v0.5.2
v0.5.1
v0.5.0
Version 0.5.0 comes with some major changes. Please read through the migration guide before upgrading.
Added
Bonny.Server.AsyncStreamRunner
to run streams in a separate processBonny.Sys.Telemetry
definestelemetry
spans and events
Updated
Bonny.Server.Watcher
andBonny.Server.Reconciler
were rewritten completely. They now prepare streams which are to be run withBonny.Server.AsyncStreamRunner
- Dependency
k8s
was updated to version~> 1.1
and code was refactored accordingly
Deprecated
Bonny.Sys.Event
was deprecated in favor ofBonny.Sys.Telemetry
testo: Merge pull request #101 from victoriavilasb/api-version-v1
Support to apiextensions.k8s.io/v1