kpt

command module
v1.0.0-beta.61 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

README

OpenSSF Best Practices FOSSA Status

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 state
  • uses a uniform, serializable data model to represent configuration
  • separates code that acts on the configuration from the data and from packages / bundles of the data
  • abstracts configuration file structure and storage from operations that act upon the configuration data; clients manipulating configuration data don’t need to directly interact with storage (git, container images).

See the FAQ for more details about how kpt is different from alternatives.

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 components

The kpt toolchain includes the following components:

  • kpt CLI: The kpt CLI supports package and function operations, and also deployment, via either direct apply or GitOps. By keeping an inventory of deployed resources, kpt enables resource pruning, aggregated status and observability, and an improved preview experience.

  • Function SDK: Any general-purpose or domain-specific language can be used to create functions to transform and/or validate the YAML KRM input/output format, but we provide SDKs to simplify the function authoring process in Go.

  • Function catalog: A catalog of off-the-shelf, tested functions. kpt makes configuration easy to create and transform, via reusable functions. Because they are expected to be used for in-place transformation, the functions need to be idempotent.

Roadmap

You can read about the big upcoming features in the roadmap doc.

Contributing

If you are interested in contributing please start with contribution guidelines.

Contact

We would love to keep in touch:

  1. Join our Slack channel. You'll need to join Kubernetes on Slack first.
  2. Join our Discussions
  3. Join our community meetings

License

Code is under the Apache License 2.0, documentation is CC BY 4.0.

License scanning status

FOSSA 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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
fn
fn/render
Package cmdrender contains the render command
Package cmdrender contains the render command
pkg
dogfood
sitev2 module
healthcheck module
internal
docs/generated/alphadocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/fndocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/livedocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/overview
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/pkgdocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/repodocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/rpkgdocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/syncdocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/wasmdocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
kptops
Package internal package containing implementation details of the package manipulation primitives.
Package internal package containing implementation details of the package manipulation primitives.
pkg
Package pkg defines the concept of a kpt package.
Package pkg defines the concept of a kpt package.
types
Package types defines the basic types used by the kpt codebase.
Package types defines the basic types used by the kpt codebase.
util/argutil
The argutil package contains libraries for parsing commandline args.
The argutil package contains libraries for parsing commandline args.
util/diff
Package diff contains libraries for diffing packages.
Package diff contains libraries for diffing packages.
util/get
Package get contains libraries for fetching packages.
Package get contains libraries for fetching packages.
util/git
Package git contains git repo cloning functions similar to Kustomize's
Package git contains git repo cloning functions similar to Kustomize's
util/man
Package man contains libraries for rendering package documentation as man pages.
Package man contains libraries for rendering package documentation as man pages.
util/pkgutil
Package pkgutil contains utility functions for packages
Package pkgutil contains utility functions for packages
util/update
Package update contains libraries for updating packages.
Package update contains libraries for updating packages.
util/update/merge3
Package merge3 executes a 3-way merge update
Package merge3 executes a 3-way merge update
Package main generates cobra.Command go variables containing documentation read from .md files.
Package main generates cobra.Command go variables containing documentation read from .md files.
pkg
api/kptfile/v1
Package defines Kptfile schema.
Package defines Kptfile schema.
api/resourcegroup/v1alpha1
Package defines ResourceGroup schema.
Package defines ResourceGroup schema.
fn
lib/builtins
Package builtins passes builtin functions back to the caller for recognized configuration types
Package builtins passes builtin functions back to the caller for recognized configuration types
lib/builtins/builtintypes
Package builtintypes holds types for kpt file package context
Package builtintypes holds types for kpt file package context
lib/errors
Package errors defines the error handling used by kpt codebase.
Package errors defines the error handling used by kpt codebase.
lib/kptops
Package kptops contains implementations of kpt operations
Package kptops contains implementations of kpt operations
lib/runneroptions
Package runneroptions holds options for the function runtime
Package runneroptions holds options for the function runtime
lib/update
Package update returns a kpt updating function to a user
Package update returns a kpt updating function to a user
lib/update/updatetypes
Package updatetypes holds the exposed types for updates in kpt
Package updatetypes holds the exposed types for updates in kpt
oci
printer
Package printer defines utilities to display kpt CLI output.
Package printer defines utilities to display kpt CLI output.
release
formula command
rollouts module
thirdparty
tools
licensescan module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL