KubeOps.Generator
8.0.0-pre.11
See the version list below for details.
dotnet add package KubeOps.Generator --version 8.0.0-pre.11
NuGet\Install-Package KubeOps.Generator -Version 8.0.0-pre.11
<PackageReference Include="KubeOps.Generator" Version="8.0.0-pre.11" />
paket add KubeOps.Generator --version 8.0.0-pre.11
#r "nuget: KubeOps.Generator, 8.0.0-pre.11"
// Install KubeOps.Generator as a Cake Addin #addin nuget:?package=KubeOps.Generator&version=8.0.0-pre.11&prerelease // Install KubeOps.Generator as a Cake Tool #tool nuget:?package=KubeOps.Generator&version=8.0.0-pre.11&prerelease
KubeOps Generator
This is a C# source generator for KubeOps and operators. It is used to generate convenience functions to help registering resources within an operator.
Usage
The generator is automatically used when the KubeOps.Generator
package is referenced.
dotnet add package KubeOps.Generator
which results in the following csproj
reference:
<ItemGroup>
<PackageReference Include="KubeOps.Generator" Version="..." />
</ItemGroup>
Generated Sources
The generator will automatically generate functions for the IOperatorBuilder
.
Entity Metadata / Entity Definitions
The generator creates a file in the root namespace called EntityDefinitions.g.cs
.
This file contains all entities that are annotated with the KubernetesEntityAttribute
.
The static class contains the EntityMetadata
for the entities as well
as a function to register all entities within the IOperatorBuilder
.
Example
using KubeOps.Abstractions.Builder;
using KubeOps.Abstractions.Entities;
public static class EntityDefinitions
{
public static readonly EntityMetadata V1TestEntity = new("TestEntity", "v1", "testing.dev", null);
public static IOperatorBuilder RegisterEntities(this IOperatorBuilder builder)
{
builder.AddEntity<global::Operator.Entities.V1TestEntity>(V1TestEntity);
return builder;
}
}
Controller Registrations
The generator creates a file in the root namespace called ControllerRegistrations.g.cs
.
This file contains a function to register all found controllers
(i.e. classes that implement the IEntityController<T>
interface).
Example
using KubeOps.Abstractions.Builder;
public static class ControllerRegistrations
{
public static IOperatorBuilder RegisterControllers(this IOperatorBuilder builder)
{
builder.AddController<global::Operator.Controller.V1TestEntityController, global::Operator.Entities.V1TestEntity>();
return builder;
}
}
Finalizer Registrations
The generator creates a file in the root namespace called FinalizerRegistrations.g.cs
.
This file contains all finalizers with generated finalizer-identifiers.
Further, a function to register all finalizers is generated.
Example
using KubeOps.Abstractions.Builder;
public static class FinalizerRegistrations
{
public const string FinalizerOneIdentifier = "testing.dev/finalizeronefinalizer";
public const string FinalizerTwoIdentifier = "testing.dev/finalizertwofinalizer";
public static IOperatorBuilder RegisterFinalizers(this IOperatorBuilder builder)
{
builder.AddFinalizer<global::Operator.Finalizer.FinalizerOne, global::Operator.Entities.V1TestEntity>(FinalizerOneIdentifier);
builder.AddFinalizer<global::Operator.Finalizer.FinalizerTwo, global::Operator.Entities.V1TestEntity>(FinalizerTwoIdentifier);
return builder;
}
}
General Operator Extensions
The generator creates a file in the root namespace called OperatorExtensions.g.cs
.
It contains convenience functions to register all generated sources.
Example
using KubeOps.Abstractions.Builder;
public static class OperatorBuilderExtensions
{
public static IOperatorBuilder RegisterComponents(this IOperatorBuilder builder)
{
builder.RegisterEntities();
builder.RegisterControllers();
builder.RegisterFinalizers();
return builder;
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on KubeOps.Generator:
Repository | Stars |
---|---|
josephnhtam/live-streaming-server-net
A .NET implementation of RTMP live streaming server, supporting HTTP-FLV, WebSocket-FLV, HLS, Kubernetes, cloud storage services integration and more.
|
Version | Downloads | Last updated |
---|---|---|
9.1.5 | 4,141 | 9/10/2024 |
9.1.4 | 1,053 | 8/26/2024 |
9.1.3 | 6,390 | 6/28/2024 |
9.1.2 | 618 | 6/20/2024 |
9.1.1 | 1,467 | 5/22/2024 |
9.1.0 | 1,851 | 5/15/2024 |
9.0.2 | 142 | 5/13/2024 |
9.0.0 | 7,945 | 3/13/2024 |
9.0.0-pre.4 | 70 | 4/19/2024 |
9.0.0-pre.3 | 64 | 3/21/2024 |
9.0.0-pre.2 | 62 | 3/13/2024 |
9.0.0-pre.1 | 58 | 3/7/2024 |
8.0.2-pre.2 | 74 | 2/21/2024 |
8.0.2-pre.1 | 53 | 2/19/2024 |
8.0.1 | 2,401 | 2/13/2024 |
8.0.1-pre.7 | 64 | 2/12/2024 |
8.0.1-pre.6 | 67 | 2/7/2024 |
8.0.1-pre.5 | 66 | 2/5/2024 |
8.0.1-pre.4 | 68 | 1/31/2024 |
8.0.1-pre.3 | 65 | 1/26/2024 |
8.0.1-pre.2 | 61 | 1/25/2024 |
8.0.1-pre.1 | 64 | 1/18/2024 |
8.0.0 | 637 | 1/17/2024 |
8.0.0-pre.45 | 55 | 1/17/2024 |
8.0.0-pre.44 | 58 | 1/16/2024 |
8.0.0-pre.43 | 67 | 1/16/2024 |
8.0.0-pre.42 | 1,172 | 1/10/2024 |
8.0.0-pre.41 | 193 | 1/2/2024 |
8.0.0-pre.40 | 164 | 12/27/2023 |
8.0.0-pre.39 | 80 | 12/21/2023 |
8.0.0-pre.38 | 184 | 12/6/2023 |
8.0.0-pre.37 | 98 | 12/6/2023 |
8.0.0-pre.36 | 138 | 12/3/2023 |
8.0.0-pre.35 | 75 | 11/28/2023 |
8.0.0-pre.34 | 90 | 11/24/2023 |
8.0.0-pre.33 | 66 | 11/24/2023 |
8.0.0-pre.32 | 67 | 11/23/2023 |
8.0.0-pre.31 | 71 | 11/23/2023 |
8.0.0-pre.30 | 77 | 11/23/2023 |
8.0.0-pre.29 | 459 | 11/11/2023 |
8.0.0-pre.28 | 88 | 11/8/2023 |
8.0.0-pre.27 | 593 | 10/23/2023 |
8.0.0-pre.26 | 93 | 10/19/2023 |
8.0.0-pre.25 | 71 | 10/18/2023 |
8.0.0-pre.24 | 95 | 10/13/2023 |
8.0.0-pre.23 | 71 | 10/13/2023 |
8.0.0-pre.22 | 75 | 10/13/2023 |
8.0.0-pre.21 | 76 | 10/12/2023 |
8.0.0-pre.20 | 82 | 10/11/2023 |
8.0.0-pre.19 | 85 | 10/9/2023 |
8.0.0-pre.18 | 71 | 10/9/2023 |
8.0.0-pre.17 | 68 | 10/7/2023 |
8.0.0-pre.16 | 107 | 10/6/2023 |
8.0.0-pre.15 | 77 | 10/6/2023 |
8.0.0-pre.14 | 70 | 10/5/2023 |
8.0.0-pre.13 | 64 | 10/5/2023 |
8.0.0-pre.12 | 72 | 10/4/2023 |
8.0.0-pre.11 | 73 | 10/3/2023 |
8.0.0-pre.10 | 80 | 10/3/2023 |
8.0.0-pre.9 | 77 | 10/3/2023 |
8.0.0-pre.8 | 67 | 10/2/2023 |
8.0.0-pre.7 | 74 | 10/2/2023 |
8.0.0-pre.6 | 71 | 9/29/2023 |
8.0.0-pre.5 | 69 | 9/28/2023 |
8.0.0-pre.4 | 68 | 9/28/2023 |
8.0.0-pre.3 | 73 | 9/27/2023 |
8.0.0-pre.2 | 54 | 9/26/2023 |
8.0.0-pre.1 | 73 | 9/22/2023 |
'# [8.0.0-pre.11](https://github.com/buehler/dotnet-operator-sdk/compare/v8.0.0-pre.10...v8.0.0-pre.11) (2023-10-03)
### Features
* **client:** add async/sync variants ([fc8f725](https://github.com/buehler/dotnet-operator-sdk/commit/fc8f725809b303e21e4c859165b6fd7a8926a4a8))
* **client:** add create, update, delete methods for enumerable entities ([f56ec3a](https://github.com/buehler/dotnet-operator-sdk/commit/f56ec3a2c6f6b6eec9da579da94a8aebc3de2b42))
### BREAKING CHANGES
* **client:** all calls that were
async before are now sync. There are
async variants of all calls with the
Async suffix.
Signed-off-by: Christoph Bühler <cbuehler@rootd.ch>
'