Codebase

Navigate the Codebase using the tree view. Use the filters to highlight where various files are grouped to aid understanding.

Getting Started Commands

Project Structure

Below is a short description of the key directories of the project to aid you when understanding where key files are located.

.devcontainer/ - This directory contains files for developing and running the project in a container using Visual Studio Code's Remote-Containers extension.
.git/ - This hidden directory stores all the Git version control system information for the project, including branches, commits, and remote repositories.
.github/ - This directory contains files related to GitHub actions and issues for the project.
.github/ISSUE_TEMPLATE/ - This subdirectory contains files defining templates for creating new issues on GitHub.
.github/workflows/ - This subdirectory contains YAML files defining GitHub Actions workflows for the project.
doc/ - This directory contains documentation for the project.
examples/ - This directory contains example projects and usage scenarios for the Kubernetes client library.
examples/aks-kubelogin/ - This subdirectory contains an example of using the Kubernetes client library with Azure Kubernetes Service (AKS) and kubelogin.
examples/aot/ - This subdirectory contains examples using ahead-of-time (AOT) compilation.
examples/attach/ - This subdirectory contains examples of attaching to running Kubernetes processes.
examples/cp/ - This subdirectory contains examples of copying files to and from Kubernetes clusters.
examples/csrApproval/ - This subdirectory contains examples of handling certificate signing requests (CSR) in Kubernetes.
examples/customResource/ - This subdirectory contains examples of creating custom Kubernetes resources.
examples/customResource/config/ - This subdirectory contains configuration files for custom resources.
examples/exec/ - This subdirectory contains examples of executing commands on Kubernetes clusters.
examples/generic/ - This subdirectory contains generic examples of using the Kubernetes client library.
examples/labels/ - This subdirectory contains examples of managing labels in Kubernetes.
examples/logs/ - This subdirectory contains examples of working with logs in Kubernetes.
examples/metrics/ - This subdirectory contains examples of working with metrics in Kubernetes.
examples/namespace/ - This subdirectory contains examples of working with namespaces in Kubernetes.
examples/openTelemetryConsole/ - This subdirectory contains an example of using OpenTelemetry Console with the Kubernetes client library.
examples/patch/ - This subdirectory contains examples of patching Kubernetes resources.
examples/portforward/ - This subdirectory contains examples of using port forwarding with the Kubernetes client library.
examples/restart/ - This subdirectory contains examples of restarting Kubernetes pods.
examples/simple/ - This subdirectory contains simple examples of using the Kubernetes client library.
examples/watch/ - This subdirectory contains examples of watching Kubernetes resources for changes.
examples/webApiDependencyInjection/ - This subdirectory contains an example of using dependency injection in a web API using the Kubernetes client library.
examples/webApiDependencyInjection/Controllers/ - This subdirectory contains controller classes for the web API example.
examples/workerServiceDependencyInjection/ - This subdirectory contains an example of using dependency injection in a worker service using the Kubernetes client library.
examples/yaml/ - This subdirectory contains examples of working with YAML files and Kubernetes resources.
src/ - This directory contains the source code for the project.
src/KubernetesClient.Aot/ - This subdirectory contains ahead-of-time (AOT) compiled code for the Kubernetes client library.
src/KubernetesClient.Aot/KubeConfigModels/ - This subdirectory contains AOT compiled model classes for working with Kubernetes configuration files.
src/KubernetesClient.Classic/ - This subdirectory contains the classic (non-AOT) implementation of the Kubernetes client library.
src/KubernetesClient.Kubectl/ - This subdirectory contains code for implementing kubectl functionality in the Kubernetes client library.
src/KubernetesClient.Kubectl/Beta/ - This subdirectory contains beta (experimental) functionality for the kubectl implementation.
src/KubernetesClient.ModelConverter/ - This subdirectory contains code for converting between different models and formats.
src/KubernetesClient.ModelConverter/AutoMapper/ - This subdirectory contains AutoMapper configuration for model conversion.
src/KubernetesClient/ - This subdirectory contains the main Kubernetes client library source code.
src/KubernetesClient/Authentication/ - This subdirectory contains authentication-related code for the Kubernetes client library.
src/KubernetesClient/Autorest/ - This subdirectory contains Autorest code for generating client code from OpenAPI definitions.
src/KubernetesClient/Exceptions/ - This subdirectory contains exception classes for the Kubernetes client library.
src/KubernetesClient/KubeConfigModels/ - This subdirectory contains model classes for working with Kubernetes configuration files.
src/KubernetesClient/LeaderElection/ - This subdirectory contains code for implementing leader election in the Kubernetes client library.
src/KubernetesClient/Models/ - This subdirectory contains model classes for various Kubernetes resources and objects.
src/LibKubernetesGenerator/ - This subdirectory contains code for generating C# code from OpenAPI definitions.
src/LibKubernetesGenerator/generators/ - This subdirectory contains code for generating specific types of code using the LibKubernetesGenerator.
src/LibKubernetesGenerator/templates/ - This subdirectory contains templates for generating code using the LibKubernetesGenerator.
tests/ - This directory contains test code for the project.
tests/E2E.Aot.Tests/ - This subdirectory contains end-to-end tests for the AOT compiled code.
tests/E2E.Tests/ - This subdirectory contains end-to-end tests for the non-AOT code.
tests/Kubectl.Tests/ - This subdirectory contains tests for the kubectl functionality.
tests/KubernetesClient.Classic.Tests/ - This subdirectory contains tests for the classic implementation of the Kubernetes client library.
tests/KubernetesClient.Tests/ - This subdirectory contains tests for the main implementation of the Kubernetes client library.
tests/KubernetesClient.Tests/assets/ - This subdirectory contains test assets.
tests/KubernetesClient.Tests/LeaderElection/ - This subdirectory contains tests for the leader election functionality.
tests/KubernetesClient.Tests/Logging/ - This subdirectory contains tests for the logging functionality.
tests/KubernetesClient.Tests/Mock/ - This subdirectory contains tests using mocks.
tests/SkipTestLogger/ - This subdirectory contains a test logger implementation that skips logging.