KubeOps.Abstractions
10.0.0
See the version list below for details.
dotnet add package KubeOps.Abstractions --version 10.0.0
NuGet\Install-Package KubeOps.Abstractions -Version 10.0.0
<PackageReference Include="KubeOps.Abstractions" Version="10.0.0" />
<PackageVersion Include="KubeOps.Abstractions" Version="10.0.0" />
<PackageReference Include="KubeOps.Abstractions" />
paket add KubeOps.Abstractions --version 10.0.0
#r "nuget: KubeOps.Abstractions, 10.0.0"
#:package KubeOps.Abstractions@10.0.0
#addin nuget:?package=KubeOps.Abstractions&version=10.0.0
#tool nuget:?package=KubeOps.Abstractions&version=10.0.0
KubeOps Abstractions
This package provides the fundamental building blocks for the KubeOps SDK. It defines the core interfaces, abstract base classes, and .NET attributes used throughout the operator framework.
Think of this package as the contract definition for key KubeOps components.
General Description
The KubeOps.Abstractions package is designed to provide a robust foundation for building Kubernetes operators using the KubeOps SDK. It offers a set of abstractions that allow developers to define custom resources, implement controllers, manage finalizers, and handle webhooks. By leveraging these abstractions, developers can create scalable and maintainable operator applications that interact seamlessly with Kubernetes.
When to Use
Most projects building a KubeOps operator will reference the main KubeOps.Operator package, which includes this abstractions package as a dependency.
By depending only on this package, you can define your entities and interfaces without pulling in the full operator runtime or Kubernetes client logic, promoting better separation of concerns. This is primarily useful if you want to:
- Define your CRD entity classes in a separate library, shared between your operator and potentially other applications.
- Build tools that need to understand KubeOps entity definitions without needing the operator runtime.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- JsonPatch.Net (>= 3.3.0)
- KubernetesClient (>= 18.0.5)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- ZiggyCreatures.FusionCache (>= 2.4.0)
-
net8.0
- JsonPatch.Net (>= 3.3.0)
- KubernetesClient (>= 18.0.5)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- ZiggyCreatures.FusionCache (>= 2.4.0)
-
net9.0
- JsonPatch.Net (>= 3.3.0)
- KubernetesClient (>= 18.0.5)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- ZiggyCreatures.FusionCache (>= 2.4.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on KubeOps.Abstractions:
| Package | Downloads |
|---|---|
|
KubeOps.KubernetesClient
Kubernetes Client written in DotNet. Based on the implementation of Google (https://github.com/kubernetes-client/csharp) but with dotnet native language features like generics. Internally uses the "GenericClient" of the Google KubernetesClient. However, wraps the methods around with true generics. |
|
|
KubeOps.Transpiler
Transpilation elements for the Kubernetes Operator SDK. Enables the developer to create CRDs from types and other Kubernetes related elements via reflection. |
|
|
KubeOps.Operator
This is an operator sdk written in c#. It enables a developer to create a custom controller for CRDs (CustomResourceDefinitions) that runs on kubernetes. This operator may run without ASP.net but needs the IHost of dotnet to run. |
|
|
KubeOps.Operator.Web
This is an operator sdk written in c#. It enables a developer to create a custom controller for CRDs (CustomResourceDefinitions) that runs on kubernetes. This operator uses ASP.net to support webhooks and external access to the operator. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.1-prerelease.1 | 109 | 11/27/2025 |
| 10.0.0 | 395 | 11/25/2025 |
| 10.0.0-prerelease.4 | 145 | 11/25/2025 |
| 10.0.0-prerelease.3 | 199 | 11/24/2025 |
| 10.0.0-prerelease.2 | 139 | 11/24/2025 |
| 10.0.0-prerelease.1 | 357 | 11/21/2025 |
| 9.11.10 | 547 | 11/18/2025 |
| 9.11.10-prerelease.1 | 222 | 11/13/2025 |
| 9.11.9 | 2,651 | 11/11/2025 |
| 9.11.9-prerelease.1 | 97 | 11/7/2025 |
| 9.11.8 | 3,914 | 10/28/2025 |
| 9.11.8-prerelease.1 | 131 | 10/26/2025 |
| 9.11.7 | 2,123 | 10/15/2025 |
| 9.11.7-prerelease.2 | 125 | 10/15/2025 |
| 9.11.7-prerelease.1 | 127 | 10/14/2025 |
| 9.11.6 | 280 | 10/14/2025 |
| 9.11.6-prerelease.1 | 61 | 10/10/2025 |
| 9.11.5 | 612 | 10/7/2025 |
| 9.11.5-prerelease.2 | 133 | 10/5/2025 |
| 9.11.5-prerelease.1 | 137 | 10/1/2025 |
| 9.11.4 | 5,240 | 9/16/2025 |
| 9.11.4-prerelease.1 | 133 | 9/10/2025 |
| 9.11.3 | 1,595 | 9/9/2025 |
| 9.11.3-prerelease.1 | 106 | 9/7/2025 |
| 9.11.2 | 2,779 | 8/19/2025 |
| 9.11.2-prerelease.2 | 140 | 8/17/2025 |
| 9.11.2-prerelease.1 | 138 | 8/12/2025 |
| 9.11.1 | 3,832 | 7/29/2025 |
| 9.11.1-prerelease.3 | 149 | 7/27/2025 |
| 9.11.1-prerelease.2 | 474 | 7/24/2025 |
| 9.11.1-prerelease.1 | 530 | 7/22/2025 |
| 9.11.0 | 1,884 | 7/22/2025 |
| 9.11.0-prerelease.7 | 133 | 7/17/2025 |
| 9.11.0-prerelease.6 | 127 | 7/17/2025 |
| 9.11.0-prerelease.5 | 128 | 7/17/2025 |
| 9.11.0-prerelease.4 | 126 | 7/17/2025 |
| 9.11.0-prerelease.3 | 128 | 7/17/2025 |
| 9.11.0-prerelease.2 | 125 | 7/16/2025 |
| 9.11.0-prerelease.1 | 129 | 7/16/2025 |
| 9.10.0 | 3,159 | 7/3/2025 |
| 9.9.0 | 919 | 6/30/2025 |
| 9.8.2 | 1,356 | 6/20/2025 |
| 9.8.1 | 1,100 | 6/13/2025 |
| 9.8.0 | 865 | 6/10/2025 |
| 9.7.0 | 766 | 6/6/2025 |
| 9.6.0 | 12,979 | 5/23/2025 |
| 9.5.0 | 6,760 | 5/8/2025 |
| 9.4.1 | 9,043 | 4/29/2025 |
| 9.4.0 | 394 | 4/28/2025 |
| 9.3.0 | 31,941 | 3/26/2025 |
| 9.2.0 | 15,571 | 1/24/2025 |
| 9.1.5 | 51,233 | 9/10/2024 |
| 9.1.4 | 1,917 | 8/26/2024 |
| 9.1.3 | 23,256 | 6/28/2024 |
| 9.1.2 | 12,470 | 6/20/2024 |
| 9.1.1 | 6,155 | 5/22/2024 |
| 9.1.0 | 3,021 | 5/15/2024 |
| 9.0.2 | 887 | 5/13/2024 |
| 9.0.0 | 29,934 | 3/13/2024 |
| 9.0.0-pre.4 | 110 | 4/19/2024 |
| 9.0.0-pre.3 | 118 | 3/21/2024 |
| 9.0.0-pre.2 | 98 | 3/13/2024 |
| 9.0.0-pre.1 | 130 | 3/7/2024 |
| 8.0.2-pre.2 | 116 | 2/21/2024 |
| 8.0.2-pre.1 | 106 | 2/19/2024 |
| 8.0.1 | 12,806 | 2/13/2024 |
| 8.0.1-pre.7 | 102 | 2/12/2024 |
| 8.0.1-pre.6 | 107 | 2/7/2024 |
| 8.0.1-pre.5 | 109 | 2/5/2024 |
| 8.0.1-pre.4 | 99 | 1/31/2024 |
| 8.0.1-pre.3 | 100 | 1/26/2024 |
| 8.0.1-pre.2 | 91 | 1/25/2024 |
| 8.0.1-pre.1 | 96 | 1/18/2024 |
| 8.0.0 | 1,310 | 1/17/2024 |
| 8.0.0-pre.45 | 100 | 1/17/2024 |
| 8.0.0-pre.44 | 106 | 1/16/2024 |
| 8.0.0-pre.43 | 101 | 1/16/2024 |
| 8.0.0-pre.42 | 992 | 1/10/2024 |
| 8.0.0-pre.41 | 364 | 1/2/2024 |
| 8.0.0-pre.40 | 202 | 12/27/2023 |
| 8.0.0-pre.39 | 115 | 12/21/2023 |
| 8.0.0-pre.38 | 456 | 12/6/2023 |
| 8.0.0-pre.37 | 160 | 12/6/2023 |
| 8.0.0-pre.36 | 186 | 12/3/2023 |
| 8.0.0-pre.35 | 156 | 11/28/2023 |
| 8.0.0-pre.34 | 144 | 11/24/2023 |
| 8.0.0-pre.33 | 108 | 11/24/2023 |
| 8.0.0-pre.32 | 103 | 11/23/2023 |
| 8.0.0-pre.31 | 129 | 11/23/2023 |
| 8.0.0-pre.30 | 118 | 11/23/2023 |
| 8.0.0-pre.29 | 1,010 | 11/11/2023 |
| 8.0.0-pre.28 | 127 | 11/8/2023 |
| 8.0.0-pre.27 | 619 | 10/23/2023 |
| 8.0.0-pre.26 | 155 | 10/19/2023 |
| 8.0.0-pre.25 | 122 | 10/18/2023 |
| 8.0.0-pre.24 | 144 | 10/13/2023 |
| 8.0.0-pre.23 | 123 | 10/13/2023 |
| 8.0.0-pre.22 | 126 | 10/13/2023 |
| 8.0.0-pre.21 | 123 | 10/12/2023 |
| 8.0.0-pre.20 | 130 | 10/11/2023 |
| 8.0.0-pre.19 | 137 | 10/9/2023 |
| 8.0.0-pre.18 | 117 | 10/9/2023 |
| 8.0.0-pre.17 | 122 | 10/7/2023 |
| 8.0.0-pre.16 | 144 | 10/6/2023 |
| 8.0.0-pre.15 | 115 | 10/6/2023 |
| 8.0.0-pre.14 | 116 | 10/5/2023 |
| 8.0.0-pre.13 | 127 | 10/5/2023 |
| 8.0.0-pre.12 | 121 | 10/4/2023 |
| 8.0.0-pre.11 | 145 | 10/3/2023 |
| 8.0.0-pre.10 | 138 | 10/3/2023 |
| 8.0.0-pre.9 | 131 | 10/3/2023 |
| 8.0.0-pre.8 | 115 | 10/2/2023 |
| 8.0.0-pre.7 | 112 | 10/2/2023 |
| 8.0.0-pre.6 | 123 | 9/29/2023 |
| 8.0.0-pre.5 | 118 | 9/28/2023 |
| 8.0.0-pre.4 | 126 | 9/28/2023 |
| 8.0.0-pre.3 | 123 | 9/27/2023 |
| 8.0.0-pre.2 | 105 | 9/26/2023 |
| 8.0.0-pre.1 | 113 | 9/22/2023 |
'## [10.0.0](https://github.com/dotnet/dotnet-operator-sdk/compare/v9.11.10...v10.0.0) (2025-11-25)
### ⚠ BREAKING CHANGES
* Change of return types of finalizers and controllers.
To migrate, you'll need to change all instances of finalizers and controllers
to the new return types `Task<ReconciliationResult<TEntity>>` instead
of `Task`. Use the `ReconciliationResult<TEntity>` provided methods
to return your result.
* `IEntityController<TEntity>` resides now in the
`KubeOps.Abstractions.Reconciliation.Controller` namespace instead of
`KubeOps.Abstractions.Controller`.
* `IEntityFinalizer<TEntity>` resides now in the
`KubeOps.Abstractions.Reconciliation.Finalizer` namespace instead of
`KubeOps.Abstractions.Finalizer`.
* `EntityRequeue` resides now in the
`KubeOps.Abstractions.Reconciliation.Queue` namespace instead of
`KubeOps.Abstractions.Queue`.
* `IEntityRequeueFactory` resides now in the
`KubeOps.Abstractions.Reconciliation.Queue` namespace instead of
`KubeOps.Abstractions.Queue`.
* semi breaking; compatible finalizers
are attached and detached by default now. If there exists a type
that supports finalizing a given entity type, it will be attached
by default. This setting can be configured by `AutoAttachFinalizers`
and `AutoDetachFinalizers` in the operator settings.
* The `MutationResult` record is now
sealed.
### Features
* add `net10` support while retaining `net9` and `net8` compatibility ([#995](https://github.com/dotnet/dotnet-operator-sdk/issues/995)) ([0a59c24](https://github.com/dotnet/dotnet-operator-sdk/commit/0a59c24c12007a6c50dd38c3f6d3cba54a012f27))
* add missing support for `net10` in multiple project files and update `Microsoft.Build.Locator` version ([#998](https://github.com/dotnet/dotnet-operator-sdk/issues/998)) ([d717efc](https://github.com/dotnet/dotnet-operator-sdk/commit/d717efcd86378da52a7212bfadd72ef3b397ed54))
* introduce result-pattern and automatic finalizer management ([#980](https://github.com/dotnet/dotnet-operator-sdk/issues/980)) ([06c65ba](https://github.com/dotnet/dotnet-operator-sdk/commit/06c65bad9e5cb53f32fe6b719aeb8a757108debf))
### Bug Fixes
* update syntax receiver to handle visited type symbols only once ([#997](https://github.com/dotnet/dotnet-operator-sdk/issues/997)) ([4d43612](https://github.com/dotnet/dotnet-operator-sdk/commit/4d43612ec3e853d070f5aa995ef56ae9a12e59ad)), closes [#996](https://github.com/dotnet/dotnet-operator-sdk/issues/996)
### Dependencies
* **ci:** update actions/checkout action to v6 ([#994](https://github.com/dotnet/dotnet-operator-sdk/issues/994)) ([454aa11](https://github.com/dotnet/dotnet-operator-sdk/commit/454aa119daba7bdcc1446c1963aa741d33d91a70))
* **test:** update dotnet monorepo (major) ([#984](https://github.com/dotnet/dotnet-operator-sdk/issues/984)) ([062ad9a](https://github.com/dotnet/dotnet-operator-sdk/commit/062ad9a2c5fc7015a2c4a0098002992493c8fa54))
### Documentation
* Correct kubeops CLI usage examples ([#991](https://github.com/dotnet/dotnet-operator-sdk/issues/991)) ([b3d7f70](https://github.com/dotnet/dotnet-operator-sdk/commit/b3d7f7036bf144cca2628c2f09027c71e2e195b6))
* Use 'dotnet new install' instead of deprecated --install switch ([#987](https://github.com/dotnet/dotnet-operator-sdk/issues/987)) ([312c367](https://github.com/dotnet/dotnet-operator-sdk/commit/312c3671bbf736b7308a6fe20c5d028dd481bcc5))
'