GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - kptdev/kpt: Automate Kubernetes Configuration Editing

BranchesTags
Open more actions menu

Latest commit

 

History

3,201 Commits
3,201 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
api
api
 
 
architecture/style-guides
architecture/style-guides
 
 
cli
cli
 
 
demos
demos
 
 
documentation
documentation
 
 
e2e
e2e
 
 
hack
hack
 
 
internal
internal
 
 
make
make
 
 
mdtogo
mdtogo
 
 
package-examples
package-examples
 
 
pkg
pkg
 
 
release
release
 
 
scripts
scripts
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
.golangci.yml
.golangci.yml
 
 
AGENTS.md
AGENTS.md
 
 
CODEOWNERS
CODEOWNERS
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
LICENSE-documentation
LICENSE-documentation
 
 
MAINTAINERS
MAINTAINERS
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
code-of-conduct.md
code-of-conduct.md
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
sonar.properties
sonar.properties
 
 

Repository files navigation

kpt logo

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.

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 utilities for kpt schemas, including Kptfile, ResourceGroup, function result types, and function runner options. 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 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.

Versioning

kpt follows the kpt project versioning guidelines. The library, CLI, and API module are released independently; see release/README.md for release surfaces and tagging details.

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:

  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.

About

Automate Kubernetes Configuration Editing

kpt.dev

Topics

cliconfig-as-dataconfiguration-managementcontainerscustomizationdeploymentgitopskptkrmkubectlkuberneteskustomizeopenapipackaging-toolpolicy-as-codeschemashift-leftvalidation

Resources

Readme

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

1.9k stars

Watchers

35 watching

Forks

278 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.