Contributing

Thanks for taking the time to join our community and start contributing!

Please remember to read and observe the Code of Conduct.

This project accepts contributions via GitHub pull requests. This document outlines the process to help get your contribution accepted. Please also read the Kubernetes contributor guide which provides detailed instructions on how to get your ideas and bug fixes seen and accepted.

Sign the Contributor License Agreement

We’d love to accept your patches! Before we can accept them, you need to sign the Cloud Native Computing Foundation (CNCF) CLA.

Reporting an Issue

If you have any problem with the package or any suggestions, please file an issue.

Contributing a Patch

  1. Submit an issue describing your proposed change to the repo.
  2. Fork this repo, develop and test your code changes.
  3. Submit a pull request.
  4. The bot will automatically assign someone to review your PR. Check the full list of bot commands here.

Contact

You can reach the maintainers of this project at SIG API Machinery or on the #kubernetes-client channel on the Kubernetes Slack.

Local Development Environment

The project utilizes Dev Containers for local development. This provides a consistent development environment by including all necessary tools and dependencies. You can use the provided Dev Container configuration to quickly set up your local development environment.

Build and Test

The following commands are used for building and testing the project:

  • Build: dotnet restore and dotnet build
  • Test: dotnet test

Deployment

This project does not provide deployment commands as it is a client library for interacting with Kubernetes clusters.

Updating API Models

The API models in this project are generated from the Kubernetes OpenAPI specifications. To update the API models:

  1. Generate new swagger.json:
cd $GEN_DIR/openapi/csharp.sh <REPO_DIR>/src/KubernetesClient <REPO_DIR>/csharp.settings

Replace <REPO_DIR> with the path to the root of the csharp repository.

  1. Update API models:
# Prerequisites
git clone https://github.com/kubernetes-client/gen
# Generating new swagger.json
cd <GEN_DIR>/openapi/csharp.sh <REPO_DIR>/src/KubernetesClient <REPO_DIR>/csharp.settings

Replace <GEN_DIR> with the path to the generator project directory and <REPO_DIR> with the path to the root of the csharp repository.