The project includes Go code to interact with the Kubernetes API, aiming to create a complete Kubernetes controller.
The code is organized into the following directories, click to navigate:
- client-go: A very basic example of using client-go to interact with the Kubernetes API, including listing and watching resources.
- api-machinery: A more complete example of a Kubernetes controller using the controller-runtime library, including custom resource definitions (CRDs), reconciliation logic, and event handling.
- example-controller: A simple example of a Kubernetes controller implementation.
- gitops-controller: An example of a GitOps-style controller for managing Kubernetes resources.
- A Kubernetes cluster with kubectl configured
- Go 1.22 or later
- controller-gen
- code-generator