{"id":13509334,"url":"https://github.com/kptdev/kpt","last_synced_at":"2026-02-11T16:02:48.576Z","repository":{"id":37002384,"uuid":"208908993","full_name":"kptdev/kpt","owner":"kptdev","description":"Automate Kubernetes Configuration Editing","archived":false,"fork":false,"pushed_at":"2025-05-08T12:05:23.000Z","size":62049,"stargazers_count":1773,"open_issues_count":618,"forks_count":233,"subscribers_count":44,"default_branch":"main","last_synced_at":"2025-05-08T12:20:38.891Z","etag":null,"topics":["cli","config-as-data","configuration-management","containers","customization","deployment","gitops","kpt","krm","kubectl","kubernetes","kustomize","openapi","packaging-tool","policy-as-code","schema","shift-left","validation"],"latest_commit_sha":null,"homepage":"https://kpt.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kptdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":"governance.md","roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-09-16T22:25:20.000Z","updated_at":"2025-05-08T12:04:11.000Z","dependencies_parsed_at":"2023-09-14T06:04:05.070Z","dependency_job_id":"e3f713b3-8be5-4062-befc-1083b59dfd76","html_url":"https://github.com/kptdev/kpt","commit_stats":{"total_commits":2090,"total_committers":112,"mean_commits":"18.660714285714285","dds":0.8392344497607656,"last_synced_commit":"5ac277eab479f0e8be312483d2d255b2fb29e88a"},"previous_names":["kptdev/kpt","googlecontainertools/kpt"],"tags_count":177,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kptdev%2Fkpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kptdev%2Fkpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kptdev%2Fkpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kptdev%2Fkpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kptdev","download_url":"https://codeload.github.com/kptdev/kpt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","config-as-data","configuration-management","containers","customization","deployment","gitops","kpt","krm","kubectl","kubernetes","kustomize","openapi","packaging-tool","policy-as-code","schema","shift-left","validation"],"created_at":"2024-08-01T02:01:06.325Z","updated_at":"2026-01-18T00:50:33.148Z","avatar_url":"https://github.com/kptdev.png","language":"Go","readme":"\u003cimg src=\"logo/KptLogoLarge.png\" width=\"220\"\u003e\n\n\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/10656/badge)](https://www.bestpractices.dev/projects/10656)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkptdev%2Fkpt.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkptdev%2Fkpt?ref=badge_shield)\n\n# kpt: Automate Kubernetes Configuration Editing\n\nkpt is a package-centric toolchain that enables a WYSIWYG configuration authoring, automation, and delivery experience,\nwhich simplifies managing Kubernetes platforms and KRM-driven infrastructure (e.g.,\n[Config Connector](https://github.com/GoogleCloudPlatform/k8s-config-connector), [Crossplane](https://crossplane.io)) at\nscale by manipulating declarative [Configuration as Data](docs/design-docs/06-config-as-data.md).\n\n*Configuration as Data* is an approach to management of configuration which:\n\n* makes configuration data the source of truth, stored separately from the live\n  state\n* uses a uniform, serializable data model to represent configuration\n* separates code that acts on the configuration from the data and from packages\n  / bundles of the data\n* abstracts configuration file structure and storage from operations that act\n  upon the configuration data; clients manipulating configuration data don’t\n  need to directly interact with storage (git, container images).\n\nSee [the FAQ](https://kpt.dev/faq/) for more details about how kpt is different from alternatives.\n\n## Why kpt?\n\nkpt enables WYSIWYG editing and interoperable automation applied to declarative configuration data, similar to how the\nlive state can be modified with imperative tools. \n\nSee [the rationale](https://kpt.dev/guides/rationale) for more background.\n\nThe best place to get started and learn about specific features of kpt is to visit the [kpt website](https://kpt.dev/).\n\n## Install kpt\n\nkpt installation instructions can be found on [kpt.dev/installation](https://github.com/kptdev/kpt/blob/main/documentation/content/en/installation/kpt-cli.md)\n\n## kpt components\n\nThe kpt toolchain includes the following components:\n\n- **kpt CLI**: The [kpt CLI](https://kpt.dev/reference/cli/) supports package and function operations, and also\n  deployment, via either direct apply or GitOps. By keeping an inventory of deployed resources, kpt enables resource\n  pruning, aggregated status and observability, and an improved preview experience.\n\n- [**Function SDK**](https://github.com/kptdev/krm-functions-sdk): Any general-purpose or domain-specific language can\n  be used to create functions to transform and/or validate the YAML KRM input/output format, but we provide SDKs to\n  simplify the function authoring process in [Go](https://kpt.dev/book/05-developing-functions/#developing-in-Go).\n\n- [**Function catalog**](https://github.com/kptdev/krm-functions-catalog): A [catalog](https://catalog.kpt.dev/function-catalog) of\n  off-the-shelf, tested functions. kpt makes configuration easy to create and transform, via reusable functions. Because\n  they are expected to be used for in-place transformation, the functions need to be idempotent.\n\n## Roadmap\n\nYou can read about the big upcoming features in the [roadmap doc](/docs/ROADMAP.md).\n\n## Contributing\n\nIf you are interested in contributing please start with [contribution guidelines](CONTRIBUTING.md).\n\n## Contact\n\nWe would love to keep in touch:\n\n1. Join our [Slack channel](https://kubernetes.slack.com/channels/kpt). You'll\n   need to join [Kubernetes on Slack](https://slack.k8s.io/) first.\n1. Join our [Discussions](https://github.com/kptdev/kpt/discussions)\n1. Join our [community meetings](https://zoom-lfx.platform.linuxfoundation.org/meeting/98980817322?password=c09cdcc7-59c0-49c4-9802-ad4d50faafcd\u0026invite=true)\n\n## License\n\nCode is under the [Apache License 2.0](LICENSE), documentation is [CC BY 4.0](LICENSE-documentation).\n\n### License scanning status\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkptdev%2Fkpt.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkptdev%2Fkpt?ref=badge_large)\n\n## Governance\n\nThe governance of the kpt project and KRM Functiona Catalog are described in the\n[governance repo](https://github.com/kptdev/governance).\n\n## Code of Conduct\n\nThe kpt project and the KRM Functions Catalog are following the\n[CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).\nMore information and links about the CNCF Code of Conduct are [here](code-of-conduct.md).\n\n## CNCF\n\nThe kpt project including the KRM Functions Catalog is a [CNCF Sandbox](https://www.cncf.io/sandbox-projects/) project.\n\n","funding_links":[],"categories":["Go","cli"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkptdev%2Fkpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkptdev%2Fkpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkptdev%2Fkpt/lists"}