kpt is a package-centric toolchain written in Go that automates Kubernetes configuration editing through a Configuration as Data approach. The project enables WYSIWYG configuration authoring, automation, and delivery at scale by treating configuration data as the source of truth, stored separately from live state, and using a uniform serializable data model to represent configuration. This separation allows code that acts on configuration to remain distinct from both the data itself and from packages or bundles of data, abstracting configuration file structure and storage from operations that manipulate the configuration.
The kpt toolchain comprises three main components. The kpt CLI supports package and function operations along with deployment via direct apply or GitOps workflows. By maintaining an inventory of deployed resources, the CLI enables resource pruning, aggregated status and observability, and an improved preview experience. The Function SDK allows creation of transformation and validation functions in general-purpose or domain-specific languages, with provided SDKs to simplify authoring in Go. The Function Catalog offers off-the-shelf, tested functions designed for in-place transformation and requiring idempotency.
The project is designed to simplify management of Kubernetes platforms and KRM-driven infrastructure such as Config Connector and Crossplane. It enables interoperable automation applied to declarative configuration data in a manner similar to how live state can be modified with imperative tools. The Configuration as Data methodology abstracts clients from needing to directly interact with storage systems like git or container images when manipulating configuration data.
GitGenius activity tracking reveals that across 693 tracked issues and pull requests, the median response latency is 26126.8 hours with a mean of 23391.6 hours. The most active issue labels are enhancement with 331 items, triaged with 228 items, and bug with 136 items. The primary contributors tracked by GitGenius are ciaranjohnston with 453 events, liamfallon with 403 events, and CsatariGergely with 396 events. The repository shares overlapping contributors with kubeflow/kubeflow, kubeflow/pipelines, and istio/istio, indicating cross-project collaboration within the cloud native ecosystem.
The project is classified across multiple domains including templating, code generation, infrastructure automation, CLI tooling, configuration management, policy enforcement, GitOps, and declarative infrastructure. It addresses the broader ecosystem need for managing Kubernetes configurations at scale through package-based approaches and reusable transformation functions. The project is a CNCF Sandbox project and operates under Apache License 2.0 for code and CC BY 4.0 for documentation, with governance described in a separate governance repository and adherence to the CNCF Code of Conduct.