Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add snappcloud to adopters #6056

Merged
merged 1 commit into from
Jan 8, 2024

Conversation

m-yosefpor
Copy link
Contributor

Hello from SnappCloud!

We at SnappCloud are excited to share our journey with Contour and would like to be included in the list of Contour Adopters. We have successfully integrated Contour into our infrastructure and actively contribute to the open-source community by developing solutions around Contour. Our contributions include several tools and plugins enhancing Contour's functionality. We believe our experience and contributions would be a valuable addition to the Contour Adopters page.

Thank you for considering our request.

@m-yosefpor m-yosefpor requested a review from a team as a code owner January 5, 2024 09:53
@m-yosefpor m-yosefpor requested review from tsaarni and sunjayBhatia and removed request for a team January 5, 2024 09:53
@sunjayBhatia sunjayBhatia requested review from a team, davinci26 and clayton-gonsalves and removed request for a team January 5, 2024 09:53
Copy link

github-actions bot commented Jan 5, 2024

Hi @m-yosefpor! Welcome to our community and thank you for opening your first Pull Request. Someone will review it soon. Thank you for committing to making Contour better. You can also join us on our mailing list and in our channel in the Kubernetes Slack Workspace

Copy link

codecov bot commented Jan 5, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (0b8ab80) 78.77% compared to head (5b46e7b) 78.81%.
Report is 3 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #6056      +/-   ##
==========================================
+ Coverage   78.77%   78.81%   +0.03%     
==========================================
  Files         138      138              
  Lines       19747    19765      +18     
==========================================
+ Hits        15555    15577      +22     
+ Misses       3888     3885       -3     
+ Partials      304      303       -1     

see 6 files with indirect coverage changes

Copy link
Contributor

@davinci26 davinci26 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fantastic


2. [Contour Global Rate Limit Operator](https://github.com/snapp-incubator/contour-global-ratelimit-operator): This project provides a Kubernetes operator that allows users to configure global ratelimits in their HTTPProxy and it configures a RLS service based on [envoyproxy/ratelimit](https://github.com/envoyproxy/ratelimit).

3. [Contour Admission Webhook](https://github.com/snapp-incubator/contour-admission-webhook): This webhook facilitates the validation and mutation of Contour's HTTPProxy resources, ensuring configurations adhere to defined policies and standards. For example, it blocks creation of HTTPProxies with conflicting FQDNs, to prevent a user to invalidate other HTTPProxies in other namespaces.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@projectcontour/maintainers we are also finding the need to build this.

Should we bring in an implementation of this into projecontour organization? Should we open an issue for that?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 we have some examples of using Gatekeeper for this -- see https://projectcontour.io/guides/gatekeeper/ and https://github.com/projectcontour/contour/tree/main/examples/gatekeeper. I think we would also prefer to make more use of CEL validation where possible, since they don't require deploying an additional component.

That said, if there is still a need for a custom admission webhook and is something that there is shared community interest in, we could definitely look at creating a repo for it in the projectcontour org.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIL, that is great

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let me digest that but seems really useful!

Copy link
Contributor Author

@m-yosefpor m-yosefpor Jan 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding CEL, AFAIK, CEL validation in CRDs are generally limited to the properties of the resource itself. So for HTTPProxy host FQDN conflicts, it's not possible to do so. It is possible to do it with other policy engines such as Gatekeeper and kyverno ( as it support apiCall ), however it still requires to get all HTTPProxies in all namespaces with every update on HTTPProxies. We implemented a custom webhook, so we can cache all FQDNs to avoid such heavy lookups for every operation.

Copy link

@ssttehrani ssttehrani Feb 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JFYI:
We're pleased to inform you about the release of the new version of our custom admission webhook. This update focuses on improving stability, making it a dependable choice for production environments. The admission webhook maintains its commitment to enforcing security standards for Contour in multi-tenant clusters.

https://github.com/snapp-incubator/contour-admission-webhook/tree/v2.0.1

@skriss skriss added the release-note/none-required Marks a PR as not requiring a release note. Should only be used for very small changes. label Jan 5, 2024
Copy link
Member

@skriss skriss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @m-yosefpor, this is great!

skriss
skriss previously requested changes Jan 5, 2024
Copy link
Member

@skriss skriss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just need to add DCO signoff to your commit per https://github.com/projectcontour/contour/pull/6056/checks?check_run_id=20191677028 -- git commit --amend --signoff && git push -f should do it.

Signed-off-by: Mohammad Yosefpor <[email protected]>
@m-yosefpor
Copy link
Contributor Author

Just need to add DCO signoff to your commit per https://github.com/projectcontour/contour/pull/6056/checks?check_run_id=20191677028 -- git commit --amend --signoff && git push -f should do it.

done @skriss

@sunjayBhatia sunjayBhatia enabled auto-merge (squash) January 8, 2024 14:26
@sunjayBhatia sunjayBhatia dismissed skriss’s stale review January 8, 2024 14:36

Changes addressed

@sunjayBhatia sunjayBhatia merged commit af0ffe0 into projectcontour:main Jan 8, 2024
26 checks passed
@m-yosefpor m-yosefpor deleted the adopters branch January 9, 2024 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note/none-required Marks a PR as not requiring a release note. Should only be used for very small changes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants