cncf / sandbox

Applications for Sandbox go here! β³πŸ“¦πŸ§ͺ
Apache License 2.0
133 stars 22 forks source link

[Sandbox] KCL #48

Closed Peefy closed 1 year ago

Peefy commented 1 year ago

Application contact emails

xiaodong.dxd@antgroup.com xpf6677@gmail.com shushan.css@antgroup.com huangch96@gmail.com zongzhe1024@163.com 897013703@qq.com

Project Summary

Constraint-based record and functional language and tools that is primarily utilized in cloud-native configurations and policy scenarios.

Project Description

With cloud-native language and tools, KCL aims to address the cognitive burden of large-scale cloud-native static configuration, YAML/template bloat, and customization/validation of third-party applications through the following features:

Org repo URL (provide if all repos under the org are in scope of the application)

https://github.com/kcl-lang

Project repo URL in scope of application

https://github.com/kcl-lang/kcl

Additional repos in scope of the application

https://github.com/kcl-lang/kcl-go https://github.com/kcl-lang/vscode-kcl https://github.com/kcl-lang/kpm https://github.com/kcl-lang/krm-kcl https://github.com/kcl-lang/kubectl-kcl https://github.com/kcl-lang/helm-kcl https://github.com/kcl-lang/kustomize-kcl https://github.com/kcl-lang/kpt-kcl https://github.com/kcl-lang/kcl-operator

Website URL

https://kcl-lang.io/

Roadmap

https://kcl-lang.io/docs/community/release-policy/roadmap

Roadmap context

N/A

Contributing Guide

https://kcl-lang.io/docs/community/contribute/

Code of Conduct (CoC)

https://github.com/kcl-lang/kcl/blob/main/CODE_OF_CONDUCT.md

Adopters

https://github.com/kcl-lang/kcl/blob/main/ADOPTERS.md

Contributing or Sponsoring Org

N/A

Maintainers file

https://github.com/kcl-lang/kcl/blob/main/MAINTAINERS

IP Policy

Trademark and accounts

Why CNCF?

KCL has reached the production readiness stage and has been recognized by some adopters. We strongly believe that KCL is a missing piece of CNCF in the fields of automation and configuration. By joining CNCF, we aim to increase the project's visibility and promote community adoption and participation, as a strong and well-known organization is essential for driving a language ecosystem. We hope that the CNCF community can provide valuable ideas and contributions to help achieve this goal. Additionally, we look forward to receiving guidance from CNCF in building KCL communities.

We believe that incorporating KCL into the CNCF ecosystem will significantly enhance the project's visibility. Under the guidance of CNCF, we can follow their procedures and standards, set achievable goals to improve our language and tools, promote community participation, and integrate KCL with other cloud-native projects.

Benefit to the Landscape

Firstly, KCL adheres to the Kubernetes Resource Model (KRM) specification, making it an ideal fit for Kubernetes integration. Additionally. Secondly, KCL aims to support a wide range of cloud-native configuration tools. By leveraging the dynamic characteristics of the language, it can non-invasively address the limitations of existing CNCF configuration management tools, potentially simplifying the use of multiple tools in the CNCF landscape.

Cloud Native 'Fit'

KCL was originally designed to tackle the challenges of static configuration and automation in cloud-native configurations, it was built using cloud-native technologies and fits within the CNCF "Automation & Configuration" area.

Cloud Native 'Integration'

KCL integrates with most configuration management tools in the cloud native area, and it also supports abstraction, mutation, and validation of configurations at both the client and Kubernetes runtime.

Cloud Native Overlap

KCL is a programming language with full toolchain implementation that features a distinctive implementation technique and user interface in the cloud-native landscape. Despite its unique qualities, there are also similar projects, such as ytt and tanka, that seek to address the same challenges.

Similar projects

ytt: ytt utilizes a combination of static configuration and dynamic programming language to achieve dynamic expansion of configuration. KCL can accomplish similar functions. Furthermore, KCL offers additional schema, constraint definitions and abstraction capabilities, further simplifying the user configuration interface. Tanka: Tanka is the robust configuration utility for Kubernetes cluster, powered by the jsonnet language. Compared to Tanka and Jsonnet, KCL has done more work in schema definition, static type checking, and constraints to shift configuration risks to the left, rather than bringing errors to the language runtime.

Landscape

Yes

Business Product or Service to Project separation

N/A

Project presentations

https://kcl-lang.io/blog/2022-declarative-config-overview https://medium.com/@xpf6677/gitops-with-kcl-programming-language-cb910230e310 https://medium.com/dev-genius/manage-kubernetes-configurations-with-kcl-oci-artifacts-39d311d366e1

Project champions

N/A

Additional information

Project Introduction Slides

nikhita commented 1 year ago

@Peefy can you present KCL at a TAG App Delivery meeting before the next sandbox vote on Sept 12?

cc @joshgav

joshgav commented 1 year ago

Thank you @nikhita!

@Peefy we've started to discuss KCL in our Slack channel #tag-app-delivery - would love for you to join the conversation. You can get an invite to CNCF Slack at https://slack.cncf.io/.

You could present at the TAG's Aug 2 or Aug 16 general meetings; DM me in Slack to finalize. We'd like to talk with you all about the values KCL offers users, its high-level technical architecture, your near-term roadmap, and the state of your community and governance. We can ask maintainers of Helm, kpt and ytt to attend and help us review too.

Peefy commented 1 year ago

Thank you @nikhita!

@Peefy we've started to discuss KCL in our Slack channel #tag-app-delivery - would love for you to join the conversation. You can get an invite to CNCF Slack at https://slack.cncf.io/.

You could present at the TAG's Aug 2 or Aug 16 general meetings; DM me in Slack to finalize. We'd like to talk with you all about the values KCL offers users, its high-level technical architecture, your near-term roadmap, and the state of your community and governance. We can ask maintainers of Helm, kpt and ytt to attend and help us review too.

@Peefy can you present KCL at a TAG App Delivery meeting before the next sandbox vote on Sept 12?

cc @joshgav

Thank you @nikhita! I will present at the TAG's Aug 16 general meetings and I've joined the slack channel.

Peefy commented 1 year ago

Thank you @nikhita!

@Peefy we've started to discuss KCL in our Slack channel #tag-app-delivery - would love for you to join the conversation. You can get an invite to CNCF Slack at https://slack.cncf.io/.

You could present at the TAG's Aug 2 or Aug 16 general meetings; DM me in Slack to finalize. We'd like to talk with you all about the values KCL offers users, its high-level technical architecture, your near-term roadmap, and the state of your community and governance. We can ask maintainers of Helm, kpt and ytt to attend and help us review too.

Thank you @joshgav and your interest in the KCL project! I will present at the TAG's Aug 16 general meetings and I've joined the slack channel. πŸ˜„

joshgav commented 1 year ago

Thank you for the presentation @Peefy! Notes and recordings are linked from this issue comment: https://github.com/cncf/tag-app-delivery/issues/430#issuecomment-1693627540

My conclusion is that KCL would be a good fit for CNCF sandbox.

Peefy commented 1 year ago

Thank you for the review! I have browsed the notes and recordings linked in the question comment and they have no issues. Thank you to CNCF sandbox for recognizing the KCL project.

roberthstrand commented 1 year ago

After a quick look at the docs, it looks like a great fit. I'm going to review the video as well, but I vaguer it won't change my mind.

amye commented 1 year ago

/vote-sandbox

git-vote[bot] commented 1 year ago

Vote created

@amye has called for a vote on [Sandbox] KCL (#48).

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.

Peefy commented 1 year ago

/check-vote

git-vote[bot] commented 1 year ago

Vote status

So far 54.55% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
6 0 0 5

Binding votes (6)

User Vote Timestamp
rochaporto In favor 2023-09-13 6:40:47.0 +00:00:00
TheFoxAtWork In favor 2023-09-12 16:01:11.0 +00:00:00
justincormack In favor 2023-09-13 16:04:38.0 +00:00:00
mauilion In favor 2023-09-13 20:25:15.0 +00:00:00
RichiH In favor 2023-09-12 23:39:46.0 +00:00:00
kgamanji In favor 2023-09-12 16:40:32.0 +00:00:00
@mattfarina Pending
@dzolotusky Pending
@cathyhongzhang Pending
@nikhita Pending
@erinaboyd Pending

Non-binding votes (13)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | roberthstrand | In favor | 2023-09-12 20:27:05.0 +00:00:00 | | Peefy | In favor | 2023-09-13 3:11:41.0 +00:00:00 | | ldxdl | In favor | 2023-09-13 3:57:42.0 +00:00:00 | | liu-hm19 | In favor | 2023-09-13 4:58:56.0 +00:00:00 | | SparkYuan | In favor | 2023-09-13 5:11:04.0 +00:00:00 | | prahaladramji | In favor | 2023-09-13 5:13:53.0 +00:00:00 | | ffforest | In favor | 2023-09-13 5:31:24.0 +00:00:00 | | jianzs | In favor | 2023-09-13 5:35:15.0 +00:00:00 | | amyXia1994 | In favor | 2023-09-13 5:58:15.0 +00:00:00 | | chai2010 | In favor | 2023-09-13 6:28:24.0 +00:00:00 | | elliotxx | In favor | 2023-09-13 6:44:58.0 +00:00:00 | | zong-zhe | In favor | 2023-09-13 7:02:44.0 +00:00:00 | | shaunmansell | In favor | 2023-09-14 1:22:19.0 +00:00:00 |
Peefy commented 1 year ago

/check-vote

git-vote[bot] commented 1 year ago

Vote status

So far 63.64% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
7 0 0 4

Binding votes (7)

User Vote Timestamp
justincormack In favor 2023-09-13 16:04:38.0 +00:00:00
RichiH In favor 2023-09-12 23:39:46.0 +00:00:00
rochaporto In favor 2023-09-13 6:40:47.0 +00:00:00
mauilion In favor 2023-09-13 20:25:15.0 +00:00:00
TheFoxAtWork In favor 2023-09-12 16:01:11.0 +00:00:00
nikhita In favor 2023-09-14 7:55:26.0 +00:00:00
kgamanji In favor 2023-09-12 16:40:32.0 +00:00:00
@mattfarina Pending
@dzolotusky Pending
@cathyhongzhang Pending
@erinaboyd Pending

Non-binding votes (14)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | roberthstrand | In favor | 2023-09-12 20:27:05.0 +00:00:00 | | Peefy | In favor | 2023-09-13 3:11:41.0 +00:00:00 | | ldxdl | In favor | 2023-09-13 3:57:42.0 +00:00:00 | | liu-hm19 | In favor | 2023-09-13 4:58:56.0 +00:00:00 | | SparkYuan | In favor | 2023-09-13 5:11:04.0 +00:00:00 | | prahaladramji | In favor | 2023-09-13 5:13:53.0 +00:00:00 | | ffforest | In favor | 2023-09-13 5:31:24.0 +00:00:00 | | jianzs | In favor | 2023-09-13 5:35:15.0 +00:00:00 | | amyXia1994 | In favor | 2023-09-13 5:58:15.0 +00:00:00 | | chai2010 | In favor | 2023-09-13 6:28:24.0 +00:00:00 | | elliotxx | In favor | 2023-09-13 6:44:58.0 +00:00:00 | | zong-zhe | In favor | 2023-09-13 7:02:44.0 +00:00:00 | | shaunmansell | In favor | 2023-09-14 1:22:19.0 +00:00:00 | | jakezhu9 | In favor | 2023-09-14 11:50:43.0 +00:00:00 |
Peefy commented 1 year ago

/check-vote

git-vote[bot] commented 1 year ago

Vote status

So far 72.73% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 0 3

Binding votes (8)

User Vote Timestamp
TheFoxAtWork In favor 2023-09-12 16:01:11.0 +00:00:00
dzolotusky In favor 2023-09-15 13:47:29.0 +00:00:00
rochaporto In favor 2023-09-13 6:40:47.0 +00:00:00
kgamanji In favor 2023-09-12 16:40:32.0 +00:00:00
justincormack In favor 2023-09-13 16:04:38.0 +00:00:00
mauilion In favor 2023-09-13 20:25:15.0 +00:00:00
RichiH In favor 2023-09-12 23:39:46.0 +00:00:00
nikhita In favor 2023-09-14 7:55:26.0 +00:00:00
@mattfarina Pending
@cathyhongzhang Pending
@erinaboyd Pending

Non-binding votes (14)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | roberthstrand | In favor | 2023-09-12 20:27:05.0 +00:00:00 | | Peefy | In favor | 2023-09-13 3:11:41.0 +00:00:00 | | ldxdl | In favor | 2023-09-13 3:57:42.0 +00:00:00 | | liu-hm19 | In favor | 2023-09-13 4:58:56.0 +00:00:00 | | SparkYuan | In favor | 2023-09-13 5:11:04.0 +00:00:00 | | prahaladramji | In favor | 2023-09-13 5:13:53.0 +00:00:00 | | ffforest | In favor | 2023-09-13 5:31:24.0 +00:00:00 | | jianzs | In favor | 2023-09-13 5:35:15.0 +00:00:00 | | amyXia1994 | In favor | 2023-09-13 5:58:15.0 +00:00:00 | | chai2010 | In favor | 2023-09-13 6:28:24.0 +00:00:00 | | elliotxx | In favor | 2023-09-13 6:44:58.0 +00:00:00 | | zong-zhe | In favor | 2023-09-13 7:02:44.0 +00:00:00 | | shaunmansell | In favor | 2023-09-14 1:22:19.0 +00:00:00 | | jakezhu9 | In favor | 2023-09-14 11:50:43.0 +00:00:00 |
git-vote[bot] commented 1 year ago

Vote closed

The vote passed! πŸŽ‰

72.73% of the users with binding vote were in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 0 3

Binding votes (8)

User Vote Timestamp
@RichiH In favor 2023-09-12 23:39:46.0 +00:00:00
@rochaporto In favor 2023-09-13 6:40:47.0 +00:00:00
@kgamanji In favor 2023-09-12 16:40:32.0 +00:00:00
@nikhita In favor 2023-09-14 7:55:26.0 +00:00:00
@dzolotusky In favor 2023-09-15 13:47:29.0 +00:00:00
@TheFoxAtWork In favor 2023-09-12 16:01:11.0 +00:00:00
@justincormack In favor 2023-09-13 16:04:38.0 +00:00:00
@mauilion In favor 2023-09-13 20:25:15.0 +00:00:00

Non-binding votes (14)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | @roberthstrand | In favor | 2023-09-12 20:27:05.0 +00:00:00 | | @Peefy | In favor | 2023-09-13 3:11:41.0 +00:00:00 | | @ldxdl | In favor | 2023-09-13 3:57:42.0 +00:00:00 | | @liu-hm19 | In favor | 2023-09-13 4:58:56.0 +00:00:00 | | @SparkYuan | In favor | 2023-09-13 5:11:04.0 +00:00:00 | | @prahaladramji | In favor | 2023-09-13 5:13:53.0 +00:00:00 | | @ffforest | In favor | 2023-09-13 5:31:24.0 +00:00:00 | | @jianzs | In favor | 2023-09-13 5:35:15.0 +00:00:00 | | @amyXia1994 | In favor | 2023-09-13 5:58:15.0 +00:00:00 | | @chai2010 | In favor | 2023-09-13 6:28:24.0 +00:00:00 | | @elliotxx | In favor | 2023-09-13 6:44:58.0 +00:00:00 | | @zong-zhe | In favor | 2023-09-13 7:02:44.0 +00:00:00 | | @shaunmansell | In favor | 2023-09-14 1:22:19.0 +00:00:00 | | @jakezhu9 | In favor | 2023-09-14 11:50:43.0 +00:00:00 |
Cmierly commented 1 year ago

Hi @Peefy ! Welcome aboard! We're very excited to get you onboarded as a CNCF sandbox project! Here's the link to your onboarding checklist: https://github.com/cncf/sandbox/issues/149

Here you can communicate any questions or concerns you might have. Please don't hesitate to reach out, I am always happy to help!

Peefy commented 1 year ago

Thank you @Cmierly ! I'll review the checklist.