This project is a Go language library that provides a programmatic interface for interacting with the Kubernetes API server. It serves as a client for managing cluster resources, offering both typed interfaces for compile-time safety and dynamic interfaces for unstructured data and custom resource management.
The library includes a controller framework designed for building event-driven automation. This framework utilizes informers to maintain local resource caches and rate-limited work queues to decouple event detection from state reconciliation. High availability is supported through a leader election tool that uses shared lease objects to ensure single-writer exclusivity.
Beyond core API interaction, the project covers secure authentication via internal service tokens and pluggable external credential providers. It also provides utilities for server-side apply functionality, API capability discovery, and tools for mocking API responses during testing.