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

Adds HAProxy Kubernetes Ingress Controller to Gateway API Implementat… #2793

Merged
merged 1 commit into from
Feb 22, 2024

Conversation

NickMRamirez
Copy link

What type of PR is this?

/kind documentation

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #2779

Does this PR introduce a user-facing change?:

-->

* DOCUMENTATION: Added HAProxy Kubernetes Ingress Controller to Gateway API Implementations page.

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/documentation Categorizes issue or PR as related to documentation. labels Feb 21, 2024
Copy link

linux-foundation-easycla bot commented Feb 21, 2024

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: haproxytechblog (9ca2a17)

@k8s-ci-robot
Copy link
Contributor

Hi @NickMRamirez. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Feb 21, 2024
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Feb 21, 2024
@NickMRamirez
Copy link
Author

NickMRamirez commented Feb 21, 2024

@robscott To your question "have you tried running conformance tests with your implementation yet?" I am asking our developers about that. Is there any guide on how to do it?

@NickMRamirez
Copy link
Author

According to our developers, since our implementation uses Gateway API v0.5.1, we didn't find conformance tests relevant to our implementation. That version has tests only for HTTPRoute and gateway secrets. Our implementation is only for TCPRoute so far.

https://github.com/kubernetes-sigs/gateway-api/tree/v0.5.1/conformance/tests

@shaneutt
Copy link
Member

Hey @NickMRamirez 👋

Just curious if you could help us better understand the distinction between this and the other HAProxy entry? (in as much detail as feasible if you would please, thank you!)

@robscott
Copy link
Member

Thanks @NickMRamirez!

Our implementation is only for TCPRoute so far.

I'd recommend noting that in the description of your implementation here.

our implementation uses Gateway API v0.5.1

I'd recommend testing your implementation with newer versions of Gateway API. All API changes would have been backwards compatible, so it's likely you can claim support for Gateway API v1.0 without any changes to your code.

Just curious if you could help us better understand the distinction between this and the other HAProxy entry?

This is the official HAProxy implementation while the one currently listed is a community implementation maintained by @jcmoraisjr https://github.com/jcmoraisjr/haproxy-ingress. As far as I can tell, that one supports GatewayClass, Gateway, and HTTPRoute, while the one that's being added here supports TCPRoute and not HTTPRoute. It would likely be good to find some way to more clearly distinguish the names here - open to suggestions from @NickMRamirez or @jcmoraisjr.

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Feb 21, 2024
@NickMRamirez
Copy link
Author

@robscott ,

I'd recommend noting that in the description of your implementation here.

My concern here is that the implementation and Gateway API version it's based on are subject to change. My feeling is that it's better for the user to go to the docs for the project and see what's new there. What do you think?

I'll pass along the idea to test against v1.0 to the developers.

You are correct about the two HAProxy implementations. Naming is tricky. It's certainly something we've contended with, since users do get confused by the two projects. But after a lot of discussion, we haven't come up with a solution, unfortunately.

@robscott
Copy link
Member

My concern here is that the implementation and Gateway API version it's based on are subject to change. My feeling is that it's better for the user to go to the docs for the project and see what's new there. What do you think?

I think the vast majority of implementations in this list support HTTPRoute and do not support TCPRoute, so unless you're working to change that sometime soon, it could be useful to call out the difference and save prospective users some time. Certainly not a requirement though.

This will all eventually be resolved when @xtineskim completes #2550, which should show the features that all implementations support, as long as they've submitted a conformance report - see https://gateway-api.sigs.k8s.io/geps/gep-1709/ for more. As you note though, TCP is definitely a gap in our conformance coverage right now, so until we resolve that, mentioning support directly is probably the best path.

With all that said, it's great to see another implementation here. Feel free to submit follow up PRs if you'd like to tweak anything, but I think this is good to go as is.

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 22, 2024
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: NickMRamirez, robscott

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 22, 2024
@shaneutt
Copy link
Member

We don't need to block this PR for it, but at some point we should go back to our discussions about orgs with multiple Gateway API projects, as there may be some better ways we can provide display and organization for users who find their way into the page.

@k8s-ci-robot k8s-ci-robot merged commit 8a58569 into kubernetes-sigs:main Feb 22, 2024
8 checks passed
@NickMRamirez
Copy link
Author

Thanks all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/documentation Categorizes issue or PR as related to documentation. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add HAProxy Kubernetes Ingress Controller to Gateway API Implementation page
5 participants