cncf / sandbox

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

[Sandbox] Kuadrant #80

Open pmccarthy opened 5 months ago

pmccarthy commented 5 months ago

Application contact emails

Paul McCarthy pamccart@redhat.com, Thomas Maas tmaas@redhat.com

Project Summary

Gateway Policies for Kubernetes leveraging the Gateway API standard

Project Description

Kuadrant is a set of Kubernetes-native controllers, services and APIs that provide gateway policies for existing Gateway API providers on both single and multi-cluster environments. It builds on top of Kubernetes Gateway API and technologies such as Istio and Envoy to introduce provider-agnostic Gateway Policies for Kubernetes.

The project provides the ability to connect ingress gateways upwards with Cloud DNS and Load Balancing providers, to set policies inwards with TLS and advanced (L7) service protection such as Auth and Rate limiting and to propagate desired gateway configurations downwards across multi-cluster environments.

A high level introduction to the project is available through a short video published on the projects YouTube channel, see https://www.youtube.com/watch?v=euWAMvQojP4

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

https://github.com/Kuadrant

Project repo URL in scope of application

N/A

Additional repos in scope of the application

N/A

Website URL

https://kuadrant.io/

Roadmap

https://github.com/orgs/Kuadrant/projects/18

Roadmap context

Roadmap items are tracked via a Github projects board as linked above. Current items include:

Further information on each of the above can be found in their respective Github issues listed from the project board: https://github.com/orgs/Kuadrant/projects/18

Contributing Guide

https://kuadrant.io/contributing/

Code of Conduct (CoC)

https://github.com/Kuadrant/governance/blob/main/CODE_OF_CONDUCT.md

Adopters

https://github.com/Kuadrant/authorino/blob/main/ADOPTERS.md, https://github.com/Kuadrant/limitador/blob/main/ADOPTERS.md, https://github.com/Kuadrant/dns-operator/blob/main/ADOPTERS.md

Contributing or Sponsoring Org

Red Hat: https://www.redhat.com

Maintainers file

https://github.com/Kuadrant/authorino/blob/main/MAINTAINERS.md, https://github.com/Kuadrant/limitador/blob/main/MAINTAINERS.md https://github.com/Kuadrant/dns-operator/blob/main/MAINTAINERS.md

IP Policy

Trademark and accounts

Why CNCF?

As the Kuadrant team is focused on building out a community for this project, we see the CNCF as an ideal platform for helping to gain wider visibility to support the goal of increasing community engagement and project adoption. The CNCF (in our view) will help bring the project closer to the cloud-native community, providing the opportunity to collaborate with like-minded developers and users. We feel that greater exposure of the project will lead to increased feedback and validation that what we are offering is being delivered in the most effective manner. Finally, should we be successful in our efforts to build a community, a strong governance model will also be required which we hope the CNCF can help with.

Benefit to the Landscape

The Kuadrant project provides communities and enterprises with a solution for managing and enforcing Kubernetes Gateway policies across single and multi-cluster environments. As it’s based on the Gateway API standard and leverages the policy attachment pattern, it could be viewed as an example project for the implementation of this pattern. Furthermore, it also compliments existing CNCF projects such as Istio: expanding on their Gateway API implementation to provide a set of policies to further enrich the user experience; and Submariner: providing service resiliency across multiple clusters (see POC Walkthrough).

Cloud Native 'Fit'

As per other answers provided in this application, Kuadrant is a kube-native set of controllers, services and APIs that provides policy management and enforcement to Gateway API providers. Given its close ties to Kubernetes and other projects as mentioned in the Cloud Native Integration section below, we feel that the project is directly tied to the Cloud Native landscape.

Cloud Native 'Integration'

Aside from being a kube-native offering, the Kuadrant project complements other existing CNCF projects such as Istio: expanding on their Gateway API implementation to provide a set of policies to further enrich the user experience; and Submariner: providing service resiliency across multiple clusters (see POC Walkthrough).

Cloud Native Overlap

Kuadrant overlaps with the Kubernetes, Istio, Envoy and Submariner projects. See Cloud Native Integration section above for further details

Similar projects

N/A

Landscape

Not at this time

Business Product or Service to Project separation

N/A

Project presentations

The project was recently presented to the TAG App Delivery group[1] (Jan 17th 2024), the Kubernetes SIG-Network Gateway API group[2] (Feb 6th 2024) and is scheduled to be presented on the next TAG Network meeting on June 13th 2024. It was also showcased during the CNCF Barcelona Meetup back in November 2023[3], see recordings below:

[1] https://www.youtube.com/watch?v=TzE2sIZ3qeU [2] https://www.youtube.com/watch?v=LPJa92TEA0k [3] https://www.youtube.com/watch?v=CT80VFV21fc

Project champions

Karena Angell: TAG App Delivery

Additional information

No response

jberkus commented 2 weeks ago

TAG-CS Check:

mrbobbytables commented 2 weeks ago

Follow-up from today's sandbox review, Kuadrant will be moved to a vote πŸ‘ /vote

git-vote[bot] commented 2 weeks ago

Vote created

@mrbobbytables has called for a vote on [Sandbox] Kuadrant (#80).

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 2months 30days 2h 52m 48s. 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.

mrbobbytables commented 1 week ago

/check-vote

git-vote[bot] commented 1 week ago

Vote status

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

Summary

In favor Against Abstain Not voted
1 0 0 10

Binding votes (1)

User Vote Timestamp
TheFoxAtWork In favor 2024-06-12 21:00:00.0 +00:00:00
@dims Pending
@rochaporto Pending
@angellk Pending
@mauilion Pending
@linsun Pending
@dzolotusky Pending
@kevin-wangzefeng Pending
@cathyhongzhang Pending
@nikhita Pending
@kgamanji Pending

Non-binding votes (4)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | nicholasjackson | In favor | 2024-06-13 16:36:11.0 +00:00:00 | | ZackButcher | In favor | 2024-06-13 17:01:07.0 +00:00:00 | | tssurya | In favor | 2024-06-13 17:01:28.0 +00:00:00 | | dlaw4608 | In favor | 2024-06-14 11:27:10.0 +00:00:00 |
angellk commented 1 week ago

I will be abstaining due to a conflict of interest.

dims commented 1 week ago

So, looking at docs under installation, there's only one option openshift - https://docs.kuadrant.io/0.7.0/kuadrant-operator/doc/install/install-openshift/

searching the code base for openshift doesn't help the case :( https://github.com/search?q=org%3AKuadrant%20openshift&type=code

Is the team open to being distro agnostic?

pmccarthy commented 1 week ago

@dims While there is an openshift install guide, the main walkthroughs[1] and getting started guides[2] are based on the use of Kind clusters. We are and will continue to be distro agnostic.

[1] https://docs.kuadrant.io/0.7.0/kuadrant-operator/doc/user-guides/secure-protect-connect/ [2] https://docs.kuadrant.io/0.7.0/getting-started-single-cluster/

dims commented 1 week ago

@pmccarthy thanks for confirming that you are open to it.

I was also looking at:

and was wondering if someone can fully participate in all aspects of working in Kuadrant community without needing to learn/install/understand openshift. given the All maintainers work for Red Hat note from Josh above, it is a bit of a concern.

pmccarthy commented 1 week ago

@dims thank you for pointing out the documentation in our test suite - this was an oversight in our docs and has since been addressed to state that a Kubernetes cluster is required to run our test suite (not Openshift). It can be run on Kind clusters as an example.

To answer your question, yes anyone can fully participate in the Kuadrant project without the need to use, learn or understand Openshift. You are correct that as of right now all project maintainers work for Red Hat - this is something we want to change by building out a community for the project to encourage other external contributors from other organisations to get involved in what we're doing. For us, acceptance to the CNCF is an important milestone to help us to achieve this goal.

Also just a note on my previous comment above, the wording was a little misleading and so I've edited the above to state that we are and will continue to be distro agnostic.

dims commented 1 week ago

@pmccarthy thanks for the quick response!

mrbobbytables commented 1 week ago

/check-vote

git-vote[bot] commented 1 week 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 1 3

Binding votes (8)

User Vote Timestamp
nikhita In favor 2024-06-18 4:33:46.0 +00:00:00
dzolotusky In favor 2024-06-18 4:09:33.0 +00:00:00
kgamanji In favor 2024-06-18 6:39:24.0 +00:00:00
rochaporto In favor 2024-06-18 7:58:47.0 +00:00:00
cathyhongzhang In favor 2024-06-18 15:43:26.0 +00:00:00
TheFoxAtWork In favor 2024-06-12 21:00:00.0 +00:00:00
angellk Abstain 2024-06-18 13:10:12.0 +00:00:00
dims In favor 2024-06-18 16:45:55.0 +00:00:00
@mauilion Pending
@linsun Pending
@kevin-wangzefeng Pending

Non-binding votes (4)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | nicholasjackson | In favor | 2024-06-13 16:36:11.0 +00:00:00 | | ZackButcher | In favor | 2024-06-13 17:01:07.0 +00:00:00 | | tssurya | In favor | 2024-06-13 17:01:28.0 +00:00:00 | | dlaw4608 | In favor | 2024-06-14 11:27:10.0 +00:00:00 |
git-vote[bot] commented 1 week ago

Vote closed

The vote passed! πŸŽ‰

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

Summary

In favor Against Abstain Not voted
9 0 1 1

Binding votes (10)

User Vote Timestamp
@linsun In favor 2024-06-18 20:03:32.0 +00:00:00
@cathyhongzhang In favor 2024-06-18 15:43:26.0 +00:00:00
@angellk Abstain 2024-06-18 13:10:12.0 +00:00:00
@kevin-wangzefeng In favor 2024-06-19 3:44:44.0 +00:00:00
@TheFoxAtWork In favor 2024-06-12 21:00:00.0 +00:00:00
@nikhita In favor 2024-06-18 4:33:46.0 +00:00:00
@dzolotusky In favor 2024-06-18 4:09:33.0 +00:00:00
@rochaporto In favor 2024-06-18 7:58:47.0 +00:00:00
@kgamanji In favor 2024-06-18 6:39:24.0 +00:00:00
@dims In favor 2024-06-18 16:45:55.0 +00:00:00

Non-binding votes (4)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | @nicholasjackson | In favor | 2024-06-13 16:36:11.0 +00:00:00 | | @ZackButcher | In favor | 2024-06-13 17:01:07.0 +00:00:00 | | @tssurya | In favor | 2024-06-13 17:01:28.0 +00:00:00 | | @dlaw4608 | In favor | 2024-06-14 11:27:10.0 +00:00:00 |
pmccarthy commented 3 days ago

@mrbobbytables - apologies for the direct ping, I'm not sure who to reach out to with this question. I'm wondering what the next steps are in terms of onboarding now that we have the required number of binding votes? Is there anything needed on the Kuadrant side to help progress things? Any help/guidance would be greatly appreciated. Thanks

mrbobbytables commented 3 days ago

@pmccarthy next week the donation tracking issues will be opened. We're updating the items to hopefully make the process a bit easier.

pmccarthy commented 2 days ago

@mrbobbytables sounds great, thank you for the update