Automate Kubernetes Configuration Editing

kpt: Automate Kubernetes Configuration Editing
kpt is a package-centric toolchain that enables a WYSIWYG configuration authoring, automation, and delivery experience, which simplifies managing Kubernetes platforms and KRM-driven infrastructure (e.g., Config Connector, Crossplane) at scale by manipulating declarative Configuration as Data.
Configuration as Data is an approach to management of configuration which:
- makes configuration data the source of truth, stored separately from the live
- uses a uniform, serializable data model to represent configuration
- separates code that acts on the configuration from the data and from packages
- abstracts configuration file structure and storage from operations that act
See the FAQ for more details about how kpt is different from alternatives.
Use our public Dosu space to ask anything about kpt.
Why kpt?
kpt enables WYSIWYG editing and interoperable automation applied to declarative configuration data, similar to how the live state can be modified with imperative tools.
See the rationale for more background.
The best place to get started and learn about specific features of kpt is to visit the kpt website.
Install kpt
kpt installation instructions can be found on kpt.dev/installation/kpt-cli
kpt components
The kpt toolchain includes the following components:
- kpt API (
github.com/kptdev/kpt/api): A separately versioned Go module with type definitions and
Kptfile, ResourceGroup, and function result types. Use it when building
tools that read or write kpt package metadata without depending on the full CLI.
- kpt CLI: The kpt CLI supports package and function operations, and also
- Function SDK: Any general-purpose or domain-specific language can
- Function catalog: A catalog of
Versioning
kpt follows semantic versioning. The CLI and API module are released independently; see VERSIONING.md for compatibility guarantees and release tagging.
Roadmap
You can follow the kpt roadmap in the related GitHub Project.
Contributing
If you are interested in contributing please start with contribution guidelines.
Contact
We would love to keep in touch:
- Join our Slack channel. You'll
- Join our Discussions
- Join our community meetings
License
Code is under the Apache License 2.0, documentation is CC BY 4.0.
License scanning status
Governance
The governance of the kpt project and KRM Functiona Catalog are described in the governance repo.
Code of Conduct
The kpt project and the KRM Functions Catalog are following the CNCF Code of Conduct. More information and links about the CNCF Code of Conduct are here.
CNCF
The kpt project including the KRM Functions Catalog is a CNCF Sandbox project.