Skip to content

[Sandbox] kpt #34

Closed
Closed
@mortent

Description

@mortent

Application contact emails

mortent@google.com, justinsb@google.com, sosa@google.com

Project Summary

Managing KRM configuration at scale

Project Description

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 at scale by manipulating declarative Configuration as Data.

Org repo URL

N/A (upon acceptance, all repos will be moved to its own org)

Project repo URL

https://github.com/GoogleContainerTools/kpt

Additional repos

https://github.com/GoogleContainerTools/kpt-functions-catalog
https://github.com/GoogleContainerTools/kpt-backstage-plugins
https://github.com/GoogleContainerTools/kpt-functions-sdk
https://github.com/GoogleContainerTools/kpt-samples

Website URL

https://kpt.dev/

Roadmap

https://github.com/GoogleContainerTools/kpt/blob/main/docs/ROADMAP.md

Roadmap context

No response

Contributing Guide

https://github.com/GoogleContainerTools/kpt/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/GoogleContainerTools/kpt/blob/main/CODE_OF_CONDUCT.md

Adopters

No response

Contributing or Sponsoring Org

https://www.google.com/

Maintainers file

https://github.com/GoogleContainerTools/kpt/blob/main/MAINTAINERS

IP Policy

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

The basic building blocks for kpt are in place and we want to encourage further adoption and contributions to the project. Having the project in the CNCF also makes it easier for users to contribute to the project as the CNCF CLA is widely accepted in the industry.

Benefit to the Landscape

Kpt is an implementation of the Configuration as Data paradigm and thereby provides a novel approach for managing declarative configuration at scale. Since kpt uses the Kubernetes Resource Model as the data format throughout the lifecycle of configuration, it obviously integrates well with Kubernetes, but also has the potential for simplifying the use of many other tools in the CNCF landscape.

Cloud Native 'Fit'

kpt is built using cloud native technologies and fits within the “App Definition & Image Build” area.

Cloud Native 'Integration'

kpt simplifies management of KRM configuration, thereby making it easier for users to use Kubernetes at scale, and provides a set of building blocks for building custom platforms with cloud native technologies. As a result of kpt using KRM as the fundamental data format, it can help manage any tool that can be configured with KRM.

The kpt CLI and its server-side implementation as Porch (both in the repos in this application) are also utilized by other open source projects such as Nephio (https://nephio.org/) as an underlying platform for configuration management.

Cloud Native Overlap

kpt is an implementation of the Configuration as Data paradigm, so it uses an approach that is different from other tools currently in the Cloud Native landscape. It does however solve similar challenges for users as existing products in the CNCF like Kustomize and Helm.

Similar projects

Kustomize: Similar to kpt, kustomize has support for customization of KRM resources via a transformation-based approach. But while Kustomize builds the final configuration out-of-place primarily using the overlay-pattern, kpt is optimized for WYSIWYG configuration and in-place customization.

Helm: While Helm leverages templating for customization of KRM resources, kpt uses a transformation-based approach that keeps the configuration in KRM format all the way from authoring to deployment.

Product or Service to Project separation

kpt is used within some Google Cloud Platform services, but the open source project roadmap and direction is driven by the needs of the community. This will continue to be true in the future.

Project presentations

https://cloud.google.com/blog/products/containers-kubernetes/lets-improve-gitops-usability
https://kubernetespodcast.com/episode/181-configuration-as-data/
https://www.youtube.com/watch?v=UHr3fBNr8BI&t=11185s
https://www.youtube.com/watch?v=PqHWnFtXhQU

Project champions

briangrant@google.com
jbelamaric@google.com

Additional information

No response

Activity

AloisReitbauer

AloisReitbauer commented on Apr 6, 2023

@AloisReitbauer

Feel free to also submit a lighting talk for the TAG App Delivery workshop at KubeCon: https://docs.google.com/forms/d/e/1FAIpQLSc2ruf4q2k7nWCZyEp0Wy_nW9z5bsf0ES0ARqZrhwnKEkk5Ig/viewform

johnbelamaric

johnbelamaric commented on Apr 6, 2023

@johnbelamaric

Unfortunately, I am not sure we will have someone there from the project this time around. @mortent @droot @justinsb do you know?

johnbelamaric

johnbelamaric commented on Apr 6, 2023

@johnbelamaric

Maybe @henderiw could do it?

justinsb

justinsb commented on Apr 6, 2023

@justinsb

I'll be there - sounds like fun!

johnbelamaric

johnbelamaric commented on Apr 6, 2023

@johnbelamaric

Oh, I didn't realize you would be there - yes, please go ahead.

henderiw

henderiw commented on Apr 7, 2023

@henderiw

@justinsb do you want to do it together? I will be there

amye

amye commented on Jun 13, 2023

@amye

/vote-sandbox

git-vote

git-vote commented on Jun 13, 2023

@git-vote

Vote created

@amye has called for a vote on [Sandbox] kpt (#34).

The members of the following teams have binding votes:

Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 7days. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

21 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @mortent@taylor@justinsb@amye@AloisReitbauer

        Issue actions

          [Sandbox] kpt · Issue #34 · cncf/sandbox