
Liam Fallon covers the journey of kpt from an inactive project to the beating heart of Nephio.
A little on kpt itself
kpt is a CNCF sandbox project (see https://kpt.dev/ and https://github.com/kptdev) that uses “Configuration as Data” to simplify managemednt of KRM-driven infrastructure at scale. kpt originated as a Google ContainerTools project and was contributed by Google to the CNCF.
The concept of kpt is actually quite straightforward. A kpt package is a directory containing a metadata file called Kptfie and krm resources in yaml files. The Kptfile describes the package, the upstream (origin) of the package, and the mutation and validation pipelines of the package. The mutation pipeline is a chain of krm functions that manipulate the krm resources described in the yaml files in the package. The validation pipeline is a another chain of krm functions that validates the mutations done on the package. The kpt command line tool allows users to perform operations on a package such as rendering (running the mutation/validation pipelines) and applying pacakges to kubernetes clusters. Packages can be nested, there can be kpt packages within kpt packages.
A krm function is a function that manipulates krm resources in the package. The kpt project provides a catalogue of pre-baked krm functions and users can develop their own krm functions using the krm functions SDK.
kpt in CNCF
kpt was accepted as a CNCF sandbox project on Jue 30th 2023 and Google migrated the kpt repository to the Github kptdev organization. At that point the project became inactive.
The reboot
The LFN Nephio project uses kpt pacakges and Porch extensively for package composition, specialization and deployment. Porch was also originally a Google ContainerTools project, and was contributed to Nephio by Google. The Nephio project is heavily dependant on kpt and kpt packages so when kpt became inactive it caused difficulties for Nephio. It was no longer possible to get bug fixes or improvements from kpt and updates to mitigate security vulnerabilities were not available.
In 2025, some members of the Nephio community (from Ericsson, Nokia, Telus and others) discussed the situation with kpt. We agreed that not only was it important to support kpt for Nephio, but that the kpt project provides technology that is useful beyond Nephio and the telecommunications domain. We met the Google kpt team in March 2025 at Kubecon Europe in London and decided to join and contribute to the kpt community.
kpt now
The reboot of kpt is now well underway.
- We have re-established the project organization and are holding public weekly meetings.
- The project Slack channel is reactivated
- The CNCF project checklist is laregely complete apart from some administrative transfers required by the CNCF
- The krm-functions-catalog, krm-functions-sdk, and kpt-sampels repos have been moved from the GoogleContainerTools github organization to the kptdev github organization
- The project organization has been streamlined and a governance repo is in place
- The build toolchains are running on repos
- The release process is being changed to use the github ghcr.io rather than Google’s gcr.io
- Security vulnerabilities have been fixed
- Release triaging is underway
- Documentation is being moved to hugo
- The project website is being rehomed
- A new kpt logo is in the works 😊
Fiachra Corcoran and Liam Fallon from EST are maintainers on the kpt project.
What’s next
We are now moving from the reboot phase of kpt to “normal operation” and we can look to the technical direction of kpt.
- Some kpt functionality was forked into the Nephio codebase as a stopgap measure, we will mrege the changes back into kpt and use the kpt impelemtation in Nephio/Porch
- There is a lot of functionality in kpt that is in “alpha” such as support for wasm. We need to consider what is core functionality and what functionality can be deprecated
- There is functional overlap between Nephio porch and kpt, which should be rationalized
- Propmotion of kpt, kpt has a timeslot at the project ppavilion at Kubecon NA in November.
The kpt team will meet at the Nephio Developer Summit in France in September to discuss the next steps for the project.