Releases: dotnet/dotnet-operator-sdk
Releases · dotnet/dotnet-operator-sdk
v3.0.0-prerelease.3
3.0.0-prerelease.3 (2021-01-29)
Bug Fixes
v3.0.0-prerelease.2
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.
v3.0.0-prerelease.1
3.0.0-prerelease.1 (2021-01-24)
Bug Fixes
- Correctly translate the kubernetes "special" fields in crds. (e5573c4)
Features
- crd generation: Add additional printer columns. (#118) (1fd76c3), closes #60
- documentation: Add documentation for public elements of the libs (#119) (f97a3ef)
- events: Add event support for resources and controllers. (#132) (3537772), closes #5
- logging: Remove the structured logger in favor of JsonLogger. (8a6bf9d)
- webhooks: Add validation webhooks and cert support. (#136) (6633845), closes #3
- add KubeOpsBasePath to msbuild properties (#117) (532b878)
BREAKING CHANGES
- logging: This removes the structured console logger.
Dotnet 5.0 provides a "simple logger" (default) as well as a
"json logger".
v2.5.0
v2.4.0
v2.3.0
v2.2.0
2.2.0 (2020-09-18)
Features
- crd generation: add embedded resource. (e0cbe68)
- crd generation: add IntOrString field. (c0c296e)
- crd generation: add multi version support. (eb685c5), closes #54
- crd generation: add preserve unknown fields. (5b655c0)
- crd generation: fetch xml documentation if any and use description. (bdbdff1), closes #7
- operator: Add namespacing for operators. (5e0aded), closes #2
- operator deployment: add downward api namespace value (634c878)
- structured logging: cleanup code and add loglevel to message (7f7fe43)
v2.1.1
v2.1.0
v2.0.0
2.0.0 (2020-09-01)
Features
- Kubernetes Entities: Add some utility extensions to assist creating Kubernetes objects (#41) (436a5cf)
- startup: add operator builder and refactor the startup code. (#47) (f8f9cce)
- testing: split out the testing resources. (f4f6fa6)
- Introduce a Generic Host method for adding Kubernetes controllers (#44) (aa14f62)
BREAKING CHANGES
- testing: This removes the application factory
fromKubeOps
. Please install theKubeOps.Testing
package if you need the resources. - startup: the default way the operator was started was removed.
Please change to the new "generic host" way of starting
the operator. In the Program.cs file, the operator wrapper is still
needed for the additional operator commands. - startup: Complete overhaul of the KubernetesOperator class
The migration path will be to create a new asp.net project
and then add the kubernetes operator back again. - startup: Removed the Kubernetes Operator class
and inserted generic host extensions for the CreateHostBuilder
method of asp.netcore. - startup: Removed the kubernetes test operator.
Instead, a web application factory (called KubernetesOperatorFactory)
was added to be used by the tests to startup the server and
configure the test application further. - startup: Removed the AddResourceFinalizer extension
method. This part is now found in the resource controller. There
the entity types are clear and a finalizer can be attached
with the client.