v3.0.0-prerelease.2
Pre-release
Pre-release
3.0.0-prerelease.2 (2021-01-29)
Code Refactoring
- controller: Refactoring to scoped controllers. (17d636f), closes #138
- finalizer: Use scoped finalizer. (307cc55)
- function naming: Use best practice names. (4e675b8)
- testing: Adjust test helpers according to breaking changes. (163c18b)
- validators: Use scoped validators and register by type. (a63b511)
BREAKING CHANGES
- testing: This removes the mocked event queue.
To test controllers and finalizers, use the provided
methods of the KubernetesOperatorFactory to enqueue
events and finalizers. - validators: Validators do not need to be registered via
AddValidationWebhook
method. All validators are infered/searched
by type when they implement theIValidationWebhook<>
interface.
When the validation webhook is called, a scope is created. - function naming: This essentially renames all async functions.
According to best practices, async functions should have the
suffixAsync
. - finalizer: Refactoring of the finalizer logic. Same as with
the controller, the finalizer are now instantiated via dependency injection
in a scope. As soon as a finalization request happens, the finalizer
manager will search for the adequate finalizer and call it.
The new way of registering finalizer is via theIFinalizerManager
to attach a finalizer to an entity. - controller: Refactoring of the whole controller instantation.
This removes theResourceControllerBase
class. Please migrate to
the new interfaceIResourceController
. The basic idea is to provide
scoped access like asp.net api controller. ALL non abstract classes
that implement that interface are registered as controllers on startup.
Whenever an event for a resource happens, a dependency injection
scope is created and the controller is called with the specific action.
There is no need for a base class anymore.