KindVersionData 1.0.0

dotnet tool install --global KindVersionData --version 1.0.0
                    
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 KindVersionData --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=KindVersionData&version=1.0.0
                    
nuke :add-package KindVersionData --version 1.0.0
                    

KindVersionData

archetypical-logo

.NET Build Status NuGet

Tool to build KindVersionData.json automatically.

Getting Started

Prerequisites

Installation (as a .NET Tool)

You can build and install this tool locally:

# From the repo root
cd src/KindVersionData
# Build the tool package
 dotnet pack -o ./nupkg
# Install the tool locally (replace with your actual path)
dotnet tool install --global --add-source ./nupkg kind-version-data

Or run directly using:

dotnet run --project ./src/KindVersionData/KindVersionData.csproj

Usage

Command Line

Generate the latest 5 kind versions (default):

kind-version-data

Generate the latest 10 kind versions:

kind-version-data --count 10

Save output to a file:

kind-version-data > kind-version-data.json
Advanced Usage

Filter for a specific Kubernetes version (example):

dotnet run --project ./src/KindVersionData/KindVersionData.csproj | jq '.[] | select(.images[].version == "1.29.4")'

Save to a custom output path:

kind-version-data --count 10 > ./data/kind-version-data.json

Options

Option Description Default
--count, -c Number of kind versions to output 5

Using in a GitHub Action

You can run this tool in a GitHub Actions workflow to automatically generate and commit the latest Kind version data.

Example Workflow

name: Update Kind Version Data
on:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * 0'  # Weekly

jobs:
  update-kind-version-data:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup .NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: '9.0.x'
      - name: Build tool
        run: |
          dotnet build ./src/KindVersionData/KindVersionData.csproj
      - name: Generate Kind Version Data
        run: |
          dotnet run --project ./src/KindVersionData/KindVersionData.csproj -- --count 5 > kind-version-data.json
      - name: Commit and push changes
        uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: Update Kind version data
          file_pattern: kind-version-data.json

This workflow will:

  • Check out your repository
  • Set up the .NET environment
  • Build and run the tool
  • Save the output to kind-version-data.json
  • Commit and push changes if the file is updated

Publishing the Tool to NuGet

To make your tool installable globally via dotnet tool install -g kind-version-data, publish it to NuGet:

  1. Build the NuGet package:
    cd src/KindVersionData
    dotnet pack -c Release -o ./nupkg
    
  2. Push the package to NuGet:
    dotnet nuget push ./nupkg/KindVersionData.*.nupkg --api-key <YOUR_NUGET_API_KEY> --source https://api.nuget.org/v3/index.json
    
  3. Users can then install it globally:
    dotnet tool install --global KindVersionData
    

Automation & Documentation Tips

  • Use GitHub Actions to automate builds, tests, and publishing.
  • Add a badge for test status and NuGet version (see top of this README).
  • Consider using docfx or markdownlint for docs quality.
  • Document any breaking changes or upgrade notes in a CHANGELOG.md.
  • Encourage contributions with a CONTRIBUTING.md file.

License

MIT

Product Compatible and additional computed target framework versions.
.NET 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 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.0 139 5/5/2025