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.

.git/ - This directory contains the Git repository data for version control.
applyconfigurations/ - This directory contains examples and tests for applying Kubernetes configurations using the client-go library.
discovery/ - This directory contains code related to service discovery in Kubernetes.
dynamic/ - This directory contains code for working with dynamic resources in the Kubernetes API.
examples/ - This directory contains example usage of the client-go library.
features/ - This directory contains experimental features that are not yet stable.
gentype/ - This directory contains generated Go types for the Kubernetes API.
informers/ - This directory contains code for caching Kubernetes resources using informers.
kubernetes/ - This directory contains the main package for the client-go library, which provides types and functions for interacting with the Kubernetes API.
listers/ - This directory contains interfaces and implementations for listing Kubernetes resources.
metadata/ - This directory contains code related to metadata in Kubernetes.
openapi/ - This directory contains OpenAPI definitions for the Kubernetes API.
pkg/ - This directory contains compiled Go packages for the client-go library.
plugin/ - This directory contains code for loading plugins for the client-go library.
rest/ - This directory contains code for working with the REST API in the client-go library.
scale/ - This directory contains code for working with scale and autoscaling in Kubernetes.
tools/ - This directory contains various tools for working with the client-go library.
util/ - This directory contains utility functions for the client-go library.

Entrypoints

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

examples/create-update-delete-deployment/main.go - Entry point for the create, update, and delete deployment example. It takes user input for deployment details and interacts with the Kubernetes API to create, update, and delete deployments.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

examples/dynamic-create-update-delete-deployment/main.go - Entry point for the dynamic create, update, and delete deployment example. It prompts the user for deployment details and interacts with the Kubernetes API to create, update, and delete deployments.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

examples/in-cluster-client-configuration/main.go - Entry point for the in-cluster client configuration example. It initializes the Kubernetes client using an in-cluster configuration and runs a simple test.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

examples/leader-election/main.go - Entry point for the leader election example. It builds the Kubernetes configuration and sets up a simple leader election using the client-go library.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

examples/out-of-cluster-client-configuration/main.go - Entry point for the out-of-cluster client configuration example. It initializes the Kubernetes client using an out-of-cluster configuration and runs a simple test.

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

examples/workqueue/main.go - Entry point for the workqueue example. It initializes the Kubernetes client and sets up a workqueue to process events from the API server.