KubernetesCRDModelGen.SourceGenerator
1.1.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package KubernetesCRDModelGen.SourceGenerator --version 1.1.2
NuGet\Install-Package KubernetesCRDModelGen.SourceGenerator -Version 1.1.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KubernetesCRDModelGen.SourceGenerator" Version="1.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="KubernetesCRDModelGen.SourceGenerator" Version="1.1.2" />
<PackageReference Include="KubernetesCRDModelGen.SourceGenerator" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add KubernetesCRDModelGen.SourceGenerator --version 1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: KubernetesCRDModelGen.SourceGenerator, 1.1.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package KubernetesCRDModelGen.SourceGenerator@1.1.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=KubernetesCRDModelGen.SourceGenerator&version=1.1.2
#tool nuget:?package=KubernetesCRDModelGen.SourceGenerator&version=1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
KubernetesCRDModelGen
What is this?
This project contains components which allow generation of C# Classes/Assemblies from Kubernetes Custom Resource Definitions.
- KubernetesCRDModelGen
- Custom Resource Definition to C# Class/Assembly Generator
- KubernetesCRDModelGen.SourceGenerator
- Yaml to C# Source Generator
- KubernetesCRDModelGen.Tool
- Yaml to C# Class Generator
- KubernetesCRDModelGen.Sync
- Synchronizes Custom Resource Definitions from numerous sources
How to use
- Programmatically
var crd = KubernetesYaml.LoadAllFromString(yaml); var fac = new LoggerFactory(); var generator = new Generator(fac); var code = generator.GenerateCode(crd); var assembly = generator.GenerateAssembly(crd) - CLI
- Install .Net Tool
dotnet tool install --global KubernetesCRDModelGen.Tool --prerelease
- Run
KubernetesCRDModelGen --FolderPath /path/to/yamls --Namespace Namespace
- Install .Net Tool
How to use the Source Generator
Create a C# Class Library Project and add some CRD yaml files to the project. Update the .csproj with the following settings. The Models will be generated in the "KubernetesCRDModelGen.Models.{CRD Group Name}" namespace.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="KubernetesClient" Version="17.0.4" />
<PackageReference Include="KubernetesCRDModelGen.SourceGenerator" Version="1.*.*" />
<AdditionalFiles Include="*.yaml" />
</ItemGroup>
</Project>
Published Packages
We publish the following premade packages
| Group | NuGet |
|---|---|
| aquasecurity.github.io | Link |
| argoproj.io | Link |
| aws.upbound.io | Link |
| azapi.upbound.io | Link |
| azure.com | Link |
| azure.upbound.io | Link |
| azuread.upbound.io | Link |
| cnrm.cloud.google.com | Link |
| crossplane.io | Link |
| databricks.crossplane.io | Link |
| fluxcd.io | Link |
| gateway.networking.k8s.io | Link |
| gcp.upbound.io | Link |
| helm.crossplane.io | Link |
| istio.io | Link |
| jetstack.io | Link |
| keda.sh | Link |
| knative.dev | Link |
| kubernetes.crossplane.io | Link |
| kubevirt.io | Link |
| opentofu.upbound.io | Link |
| postgresql.cnpg.io | Link |
| projectcalico.org | Link |
| secrets-store.csi.x-k8s.io | Link |
| storage.k8s.io | Link |
| tf.upbound.io | Link |
| traefik.io | Link |
| upbound.io | Link |
| vault.upbound.io | Link |
Type Mappings
| OpenAPIv3 type | Type |
|---|---|
| 'object' with Properties | object |
| 'object' with AdditionalProperties | Dictionary |
| 'object' with x-kubernetes-embedded-type | object |
| 'object' with x-kubernetes-preserve-unknown-fields | object |
| 'object' with x-kubernetes-int-or-string | k8s.Models.IntstrIntOrString |
| 'array' | List |
| 'array' with x-kubernetes-list-type=atomic | List |
| 'array' with x-kubernetes-list-type=map | List |
| 'array' with x-kubernetes-list-type=set | List |
| 'boolean' | boolean |
| 'number' (all formats) | double |
| 'integer' (all formats) | int |
| 'integer' with format=int64 | long |
| 'null' | null |
| 'string' | string |
| 'string' with format=binary | |
| 'string' with format=byte (base64 encoded) | |
| 'string' with format=date | |
| 'string' with format=date-time | |
| 'string' with format=duration |
There are no supported framework assets in this package.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.3 | 110 | 1/19/2026 |
| 1.2.2 | 641 | 12/23/2025 |
| 1.2.1 | 270 | 12/17/2025 |
| 1.2.0 | 214,002 | 11/15/2025 |
| 1.1.2 | 599 | 11/11/2025 |
| 1.1.1 | 322 | 11/11/2025 |
| 1.1.0 | 505 | 10/20/2025 |
| 1.0.1 | 731 | 9/25/2025 |
| 1.0.0-alpha.624 | 148 | 9/25/2025 |
| 1.0.0-alpha.623 | 139 | 9/25/2025 |
| 1.0.0-alpha.622 | 162 | 9/25/2025 |
| 1.0.0-alpha.621 | 168 | 9/24/2025 |
| 1.0.0-alpha.620 | 201 | 9/24/2025 |
| 1.0.0-alpha.619 | 240 | 9/23/2025 |
| 1.0.0-alpha.618 | 142 | 9/23/2025 |
| 1.0.0-alpha.617 | 177 | 9/20/2025 |
| 1.0.0-alpha.616 | 538 | 9/18/2025 |
| 1.0.0-alpha.615 | 300 | 9/17/2025 |
| 1.0.0-alpha.614 | 285 | 9/17/2025 |
| 1.0.0-alpha.613 | 284 | 9/17/2025 |
Loading failed