KubernetesCRDModelGen.Tool 1.0.0-alpha.579

This is a prerelease version of KubernetesCRDModelGen.Tool.
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global KubernetesCRDModelGen.Tool --version 1.0.0-alpha.579
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local KubernetesCRDModelGen.Tool --version 1.0.0-alpha.579
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=KubernetesCRDModelGen.Tool&version=1.0.0-alpha.579&prerelease
                    
nuke :add-package KubernetesCRDModelGen.Tool --version 1.0.0-alpha.579
                    

KubernetesCRDModelGen

codecov

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

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.0.0-0" OutputItemType="Analyzer" ReferenceOutputAssembly="false" PrivateAssets="all" />
    <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
azure.com Link
azure.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
kubevirt.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

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 bytes
'string' with format=byte (base64 encoded) bytes
'string' with format=date timestamp (google.protobuf.Timestamp)
'string' with format=date-time timestamp (google.protobuf.Timestamp)
'string' with format=duration duration (google.protobuf.Duration)
Product 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 was computed.  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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.1 0 9/25/2025
1.0.0-alpha.624 17 9/25/2025
1.0.0-alpha.623 21 9/25/2025
1.0.0-alpha.622 20 9/25/2025
1.0.0-alpha.621 26 9/24/2025
1.0.0-alpha.620 30 9/24/2025
1.0.0-alpha.619 31 9/23/2025
1.0.0-alpha.618 32 9/23/2025
1.0.0-alpha.617 76 9/20/2025
1.0.0-alpha.616 242 9/18/2025
1.0.0-alpha.615 248 9/17/2025
1.0.0-alpha.614 251 9/17/2025
1.0.0-alpha.613 254 9/17/2025
1.0.0-alpha.612 247 9/16/2025
1.0.0-alpha.611 252 9/16/2025
1.0.0-alpha.610 248 9/16/2025
1.0.0-alpha.609 241 9/16/2025
1.0.0-alpha.608 237 9/15/2025
1.0.0-alpha.607 99 9/12/2025
1.0.0-alpha.606 113 9/9/2025
1.0.0-alpha.605 118 9/9/2025
1.0.0-alpha.604 119 9/8/2025
1.0.0-alpha.603 82 9/5/2025
1.0.0-alpha.602 132 9/4/2025
1.0.0-alpha.601 132 9/3/2025
1.0.0-alpha.600 117 9/2/2025
1.0.0-alpha.599 117 9/2/2025
1.0.0-alpha.598 156 8/29/2025
1.0.0-alpha.597 161 8/27/2025
1.0.0-alpha.596 166 8/27/2025
1.0.0-alpha.595 167 8/26/2025
1.0.0-alpha.594 168 8/26/2025
1.0.0-alpha.593 188 8/26/2025
1.0.0-alpha.592 160 8/26/2025
1.0.0-alpha.591 138 8/25/2025
1.0.0-alpha.590 186 8/24/2025
1.0.0-alpha.589 113 8/20/2025
1.0.0-alpha.588 119 8/20/2025
1.0.0-alpha.587 118 8/20/2025
1.0.0-alpha.586 117 8/20/2025
1.0.0-alpha.585 117 8/20/2025
1.0.0-alpha.584 114 8/19/2025
1.0.0-alpha.583 117 8/18/2025
1.0.0-alpha.582 114 8/18/2025
1.0.0-alpha.581 118 8/18/2025
1.0.0-alpha.580 119 8/18/2025
1.0.0-alpha.579 115 8/18/2025
1.0.0-alpha.578 119 8/17/2025
1.0.0-alpha.577 118 8/17/2025
1.0.0-alpha.576 94 8/17/2025
1.0.0-alpha.575 95 8/17/2025
1.0.0-alpha.574 92 8/17/2025
1.0.0-alpha.573 97 8/16/2025
1.0.0-alpha.572 110 8/15/2025
1.0.0-alpha.571 109 8/15/2025
1.0.0-alpha.570 122 8/14/2025
1.0.0-alpha.569 121 8/14/2025
1.0.0-alpha.565 124 8/12/2025
1.0.0-alpha.564 61,983 8/8/2025
1.0.0-alpha.563 135 8/8/2025
1.0.0-alpha.562 141 8/8/2025
1.0.0-alpha.561 150 8/8/2025
1.0.0-alpha.560 198 8/7/2025
1.0.0-alpha.559 200 8/6/2025
1.0.0-alpha.558 203 8/5/2025
1.0.0-alpha.557 47 8/1/2025
1.0.0-alpha.556 48 8/1/2025
1.0.0-alpha.555 93 8/1/2025
1.0.0-alpha.554 94 7/31/2025
1.0.0-alpha.553 93 7/31/2025
1.0.0-alpha.552 98 7/30/2025
1.0.0-alpha.551 96 7/30/2025
1.0.0-alpha.550 101 7/30/2025
1.0.0-alpha.549 95 7/29/2025
1.0.0-alpha.548 96 7/28/2025
1.0.0-alpha.547 370 7/25/2025
1.0.0-alpha.546 461 7/24/2025
1.0.0-alpha.545 466 7/24/2025
1.0.0-alpha.544 463 7/24/2025
1.0.0-alpha.543 463 7/24/2025
1.0.0-alpha.542 515 7/23/2025
1.0.0-alpha.541 512 7/23/2025
1.0.0-alpha.540 514 7/22/2025
1.0.0-alpha.539 507 7/22/2025
1.0.0-alpha.538 97 7/18/2025
1.0.0-alpha.537 115 7/17/2025
1.0.0-alpha.536 117 7/16/2025
1.0.0-alpha.535 116 7/15/2025
1.0.0-alpha.534 120 7/15/2025
1.0.0-alpha.533 120 7/14/2025
1.0.0-alpha.532 126 7/9/2025
1.0.0-alpha.531 123 7/8/2025
1.0.0-alpha.530 121 7/7/2025
1.0.0-alpha.529 123 7/3/2025
1.0.0-alpha.528 126 7/3/2025
1.0.0-alpha.527 121 7/2/2025
1.0.0-alpha.526 123 7/1/2025
1.0.0-alpha.525 122 6/30/2025
1.0.0-alpha.524 117 6/26/2025
1.0.0-alpha.523 121 6/26/2025
1.0.0-alpha.522 121 6/24/2025
1.0.0-alpha.521 121 6/24/2025
1.0.0-alpha.520 81 6/20/2025
1.0.0-alpha.519 122 6/19/2025
1.0.0-alpha.518 118 6/19/2025
1.0.0-alpha.517 124 6/18/2025
1.0.0-alpha.516 122 6/18/2025
1.0.0-alpha.515 120 6/18/2025
1.0.0-alpha.514 126 6/18/2025
1.0.0-alpha.513 122 6/17/2025
1.0.0-alpha.512 120 6/16/2025
1.0.0-alpha.511 140 6/14/2025
1.0.0-alpha.510 150 6/14/2025
1.0.0-alpha.509 229 6/13/2025
1.0.0-alpha.508 263 6/13/2025
1.0.0-alpha.507 266 6/12/2025
1.0.0-alpha.506 271 6/10/2025
1.0.0-alpha.505 216 6/9/2025
1.0.0-alpha.504 138 6/3/2025
1.0.0-alpha.503 69 5/31/2025
1.0.0-alpha.502 133 5/29/2025
1.0.0-alpha.501 129 5/29/2025
1.0.0-alpha.500 128 5/29/2025
1.0.0-alpha.499 138 5/27/2025
1.0.0-alpha.498 123 5/26/2025
1.0.0-alpha.497 232 5/15/2025
1.0.0-alpha.496 223 5/13/2025
1.0.0-alpha.495 86 5/9/2025
1.0.0-alpha.494 137 5/8/2025
1.0.0-alpha.493 130 5/8/2025
1.0.0-alpha.492 128 5/7/2025
1.0.0-alpha.491 136 5/6/2025
1.0.0-alpha.490 125 5/6/2025
1.0.0-alpha.489 57 5/3/2025
1.0.0-alpha.488 90 5/2/2025
1.0.0-alpha.487 148 4/29/2025
1.0.0-alpha.486 118 4/25/2025
1.0.0-alpha.485 98 4/25/2025
1.0.0-alpha.484 147 4/24/2025
1.0.0-alpha.483 154 4/24/2025
1.0.0-alpha.482 165 4/24/2025
1.0.0-alpha.481 153 4/23/2025
1.0.0-alpha.480 146 4/23/2025
1.0.0-alpha.479 160 4/22/2025
1.0.0-alpha.478 173 4/18/2025
1.0.0-alpha.477 182 4/17/2025
1.0.0-alpha.476 185 4/17/2025
1.0.0-alpha.475 183 4/17/2025
1.0.0-alpha.474 168 4/15/2025
1.0.0-alpha.473 186 4/14/2025
1.0.0-alpha.472 189 4/14/2025
1.0.0-alpha.471 109 4/11/2025
1.0.0-alpha.470 162 4/10/2025
1.0.0-alpha.469 159 4/8/2025
1.0.0-alpha.468 150 4/8/2025
1.0.0-alpha.467 159 4/7/2025
1.0.0-alpha.466 109 4/4/2025
1.0.0-alpha.465 156 4/3/2025
1.0.0-alpha.464 158 3/31/2025
1.0.0-alpha.463 153 3/31/2025
1.0.0-alpha.462 117 3/28/2025
1.0.0-alpha.461 448 3/26/2025
1.0.0-alpha.460 465 3/25/2025
1.0.0-alpha.459 409 3/24/2025
1.0.0-alpha.458 79 3/21/2025
1.0.0-alpha.457 78 3/21/2025
1.0.0-alpha.456 132 3/19/2025
1.0.0-alpha.455 141 3/13/2025
1.0.0-alpha.454 131 3/13/2025
1.0.0-alpha.453 206 3/5/2025
1.0.0-alpha.452 207 3/5/2025
1.0.0-alpha.451 187 3/4/2025
1.0.0-alpha.450 189 3/4/2025
1.0.0-alpha.449 205 3/3/2025
1.0.0-alpha.448 77 2/28/2025
1.0.0-alpha.447 90 2/25/2025
1.0.0-alpha.446 103 2/20/2025
1.0.0-alpha.445 87 2/19/2025
1.0.0-alpha.444 108 2/13/2025
1.0.0-alpha.443 102 2/12/2025
1.0.0-alpha.442 103 2/11/2025
1.0.0-alpha.441 99 2/7/2025
1.0.0-alpha.440 81 2/6/2025
1.0.0-alpha.439 88 2/4/2025
1.0.0-alpha.438 100 2/4/2025
1.0.0-alpha.437 90 2/3/2025
1.0.0-alpha.436 90 1/31/2025
1.0.0-alpha.435 97 1/31/2025
1.0.0-alpha.434 93 1/30/2025
1.0.0-alpha.433 81 1/29/2025
1.0.0-alpha.432 95 1/28/2025
1.0.0-alpha.431 85 1/28/2025
1.0.0-alpha.430 89 1/10/2025
1.0.0-alpha.429 77 1/9/2025
1.0.0-alpha.428 70 1/9/2025
1.0.0-alpha.427 89 1/6/2025
1.0.0-alpha.426 123 1/3/2025
1.0.0-alpha.425 81 12/26/2024
1.0.0-alpha.424 88 12/24/2024
1.0.0-alpha.423 77 12/23/2024
1.0.0-alpha.422 92 12/20/2024
1.0.0-alpha.421 89 12/19/2024
1.0.0-alpha.420 93 12/19/2024
1.0.0-alpha.419 128 12/13/2024
1.0.0-alpha.418 89 12/13/2024
1.0.0-alpha.417 98 12/11/2024
1.0.0-alpha.416 96 12/11/2024
1.0.0-alpha.415 101 12/11/2024
1.0.0-alpha.414 88 12/9/2024
1.0.0-alpha.413 87 12/9/2024
1.0.0-alpha.412 84 12/9/2024
1.0.0-alpha.411 90 12/9/2024
1.0.0-alpha.410 93 12/5/2024
1.0.0-alpha.409 106 12/5/2024
1.0.0-alpha.408 80 12/5/2024
1.0.0-alpha.407 94 12/3/2024
1.0.0-alpha.406 85 12/3/2024
1.0.0-alpha.405 69 12/2/2024
1.0.0-alpha.404 78 12/2/2024
1.0.0-alpha.403 88 11/25/2024
1.0.0-alpha.402 92 11/21/2024
1.0.0-alpha.401 94 11/21/2024
1.0.0-alpha.400 88 11/21/2024
1.0.0-alpha.399 77 11/20/2024
1.0.0-alpha.398 85 11/20/2024
1.0.0-alpha.397 85 11/20/2024
1.0.0-alpha.396 87 11/20/2024
1.0.0-alpha.395 79 11/20/2024
1.0.0-alpha.394 78 11/20/2024
1.0.0-alpha.393 72 11/20/2024
1.0.0-alpha.392 83 11/19/2024
1.0.0-alpha.391 74 11/19/2024
1.0.0-alpha.390 77 11/18/2024
1.0.0-alpha.389 73 11/18/2024
1.0.0-alpha.388 81 11/15/2024
1.0.0-alpha.387 93 11/13/2024
1.0.0-alpha.386 94 11/13/2024
1.0.0-alpha.385 83 11/13/2024
1.0.0-alpha.384 82 11/12/2024
1.0.0-alpha.383 80 11/7/2024
1.0.0-alpha.382 74 11/7/2024
1.0.0-alpha.381 75 11/7/2024
1.0.0-alpha.380 75 11/6/2024
1.0.0-alpha.379 76 11/6/2024
1.0.0-alpha.378 78 11/5/2024
1.0.0-alpha.377 88 11/5/2024
1.0.0-alpha.376 89 11/4/2024
1.0.0-alpha.375 78 11/4/2024
1.0.0-alpha.374 66 11/4/2024
1.0.0-alpha.373 63 11/4/2024
1.0.0-alpha.372 83 11/4/2024
1.0.0-alpha.371 76 11/1/2024
1.0.0-alpha.370 79 10/31/2024
1.0.0-alpha.369 76 10/31/2024
1.0.0-alpha.368 93 10/31/2024
1.0.0-alpha.367 73 10/31/2024
1.0.0-alpha.366 87 10/30/2024
1.0.0-alpha.365 76 10/30/2024
1.0.0-alpha.364 77 10/29/2024
1.0.0-alpha.363 88 10/29/2024
1.0.0-alpha.362 73 10/29/2024
1.0.0-alpha.361 81 10/28/2024
1.0.0-alpha.360 84 10/28/2024
1.0.0-alpha.359 95 10/25/2024
1.0.0-alpha.358 82 10/23/2024
1.0.0-alpha.357 79 10/23/2024
1.0.0-alpha.356 101 10/23/2024
1.0.0-alpha.355 72 10/22/2024
1.0.0-alpha.354 74 10/22/2024
1.0.0-alpha.353 79 10/22/2024
1.0.0-alpha.352 62 10/22/2024
1.0.0-alpha.351 75 10/22/2024
1.0.0-alpha.350 76 10/17/2024
1.0.0-alpha.349 78 10/17/2024
1.0.0-alpha.348 75 10/17/2024
1.0.0-alpha.347 87 10/16/2024
1.0.0-alpha.346 82 10/16/2024
1.0.0-alpha.345 95 10/15/2024
1.0.0-alpha.344 87 10/15/2024
1.0.0-alpha.343 106 10/11/2024
1.0.0-alpha.342 97 10/11/2024
1.0.0-alpha.341 91 10/9/2024
1.0.0-alpha.340 111 10/9/2024
1.0.0-alpha.339 82 10/9/2024
1.0.0-alpha.338 91 10/8/2024
1.0.0-alpha.337 112 10/4/2024
1.0.0-alpha.336 89 10/3/2024
1.0.0-alpha.335 89 10/3/2024
1.0.0-alpha.334 87 10/1/2024
1.0.0-alpha.333 100 9/30/2024
1.0.0-alpha.332 98 9/27/2024
1.0.0-alpha.331 97 9/26/2024
1.0.0-alpha.330 69 9/25/2024
1.0.0-alpha.329 76 9/25/2024