K8sOperator.NET.Generators 0.0.1-alpha0020

This is a prerelease version of K8sOperator.NET.Generators.
dotnet add package K8sOperator.NET.Generators --version 0.0.1-alpha0020
                    
NuGet\Install-Package K8sOperator.NET.Generators -Version 0.0.1-alpha0020
                    
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="K8sOperator.NET.Generators" Version="0.0.1-alpha0020" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="K8sOperator.NET.Generators" Version="0.0.1-alpha0020" />
                    
Directory.Packages.props
<PackageReference Include="K8sOperator.NET.Generators" />
                    
Project file
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 K8sOperator.NET.Generators --version 0.0.1-alpha0020
                    
#r "nuget: K8sOperator.NET.Generators, 0.0.1-alpha0020"
                    
#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.
#addin nuget:?package=K8sOperator.NET.Generators&version=0.0.1-alpha0020&prerelease
                    
Install K8sOperator.NET.Generators as a Cake Addin
#tool nuget:?package=K8sOperator.NET.Generators&version=0.0.1-alpha0020&prerelease
                    
Install K8sOperator.NET.Generators as a Cake Tool

K8sOperator.NET

Github Release GitHub Actions Workflow Status GitHub License Github Issues Open Github Pull Request Open Scheduled Code Security Testing

K8sOperator.NET is a powerful and intuitive library designed for creating Kubernetes Operators using C#. It simplifies the development of robust, cloud-native operators by leveraging the full capabilities of the .NET ecosystem, making it easier than ever to manage complex Kubernetes workloads with custom automation.

Alt text

Table of Contents

Features

  • Easy integration

Installation

To install the package, use the following command in your .NET Core project:

dotnet add package K8sOperator.NET
dotnet add package K8sOperator.NET.Generators

Alternatively, you can add it manually to your .csproj file:

<PackageReference Include="K8sOperator.NET" Version="0.1.0" />
<PackageReference Include="K8sOperator.NET.Generators" Version="0.1.0" />

Usage

Here are some basic examples of how to use the library:

Setup

using K8sOperator.NET;

var builder = OperatorHost.CreateOperatorApplicationBuilder(args);

builder.AddController<ProjectController>()
    .WithFinalizer("project.local.finalizer");

var app = builder.Build();

app.AddInstall();

await app.RunAsync();

add custom launchSettings.json


{
    "profiles": {
        "Operator": {
            "commandName": "Project",
            "commandLineArgs": "operator",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "dotnetRunMessages": true
        },
        "Install": {
            "commandName": "Project",
            "commandLineArgs": "install > ./install.yaml",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "dotnetRunMessages": true
        },
        "Help": {
            "commandName": "Project",
            "commandLineArgs": "",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "dotnetRunMessages": true
        },
        "Version": {
            "commandName": "Project",
            "commandLineArgs": "version",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "dotnetRunMessages": true
        }
    },
   "$schema": "http://json.schemastore.org/launchsettings.json"
}

Configuration

By running the Install profile will create the install.yaml file in the root of the project. This file can be used to install the operator in a Kubernetes cluster.

Run the following command to install the operator:

kubectl apply -f install.yaml

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you encounter any bugs or have feature requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
0.0.1-alpha0020 128 19 days ago
0.0.1-alpha0019 171 a month ago
0.0.1-alpha0018 450 a month ago
0.0.1-alpha0017 441 a month ago
0.0.1-alpha0016 162 7 months ago
0.0.1-alpha0015 66 7 months ago
0.0.1-alpha0014 60 7 months ago
0.0.1-alpha0013 57 7 months ago
0.0.1-alpha0012 64 7 months ago
0.0.1-alpha0011 66 7 months ago
0.0.1-alpha0010 73 7 months ago
0.0.1-alpha0009 155 8 months ago
0.0.1-alpha0008 69 8 months ago
0.0.1-alpha0007 85 8 months ago
0.0.1-alpha0006 100 8 months ago
0.0.1-alpha0005 66 8 months ago
0.0.1-alpha0004 65 8 months ago