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

Migrate to Gateway API v1alpha2 #3954

Closed
4 tasks
skriss opened this issue Aug 17, 2021 · 6 comments · Fixed by #4047
Closed
4 tasks

Migrate to Gateway API v1alpha2 #3954

skriss opened this issue Aug 17, 2021 · 6 comments · Fixed by #4047
Assignees
Labels
area/gateway-api Issues or PRs related to the Gateway (Gateway API working group) API. Epic
Milestone

Comments

@skriss
Copy link
Member

skriss commented Aug 17, 2021

Epic-level issue for collecting the work needed to add support for v1alpha2 Gateway API.

WIP task list:

  • new API group (gateway.networking.k8s.io instead of networking.x-k8s.io)
  • Updates to Gateway <-> Route binding API
  • cross-namespace reference changes
  • removal of TLS cert references from HTTPRoute (we don't support this now anyway, just make sure there are no error conditions or anything)
@skriss skriss added Epic lifecycle/needs-triage Indicates that an issue needs to be triaged by a project contributor. labels Aug 17, 2021
@youngnick
Copy link
Member

youngnick commented Aug 18, 2021

HTTP Header matching is now extended support for HTTPRoute, see kubernetes-sigs/gateway-api#733. I think we probably should do this?

@xaleeks
Copy link

xaleeks commented Aug 31, 2021

@youngnick What does extended support mean exactly? Also, do you mean should we support method based routing in HTTPProxy as well? It’s a useful feature to be able to specify the method to match against. And I think we should keep things at parity for the time being. Thoughts?

If we support it, do we also support specifying multiple methods?

@youngnick
Copy link
Member

In the Gateway API, there are three types of support:

  • Core (which all implementations MUST support)
  • Extended (which implementations MAY support, but the behavior is mandated by the spec)
  • Custom (implementations MAY support it, but it probably won't be cross-implementation compatible).

I thought we should probably do header matching since we have a similar thing in HTTPProxy already.

@skriss
Copy link
Member Author

skriss commented Sep 3, 2021

Moved into 1.20 since it's unlikely we'll get this done for 1.19.

@skriss skriss removed the lifecycle/needs-triage Indicates that an issue needs to be triaged by a project contributor. label Sep 3, 2021
@skriss skriss self-assigned this Sep 15, 2021
@skriss
Copy link
Member Author

skriss commented Sep 15, 2021

I'm actively working on this. Step 1 is getting existing code to compile and tests to pass with the v1alpha2 API. Steps 2..n are adding support for new features in v1alpha2.

@skriss skriss added this to the 1.20.0 milestone Sep 24, 2021
@skriss
Copy link
Member Author

skriss commented Oct 8, 2021

HTTP Header matching is now extended support for HTTPRoute, see kubernetes-sigs/gateway-api#733. I think we probably should do this?

(assuming you mean HTTP method matching) yep makes sense to add, it's pretty trivial, and we do already effectively have support for it for HTTPProxy - see #2679 (comment).

Filed #4088.

@skriss skriss added the area/gateway-api Issues or PRs related to the Gateway (Gateway API working group) API. label Oct 8, 2021
@skriss skriss changed the title Add v1alpha2 Gateway API support Migrate to Gateway API v1alpha2 Oct 11, 2021
skriss added a commit that referenced this issue Oct 15, 2021
Updates Contour to support Gateway API
v1alpha2 exclusively. Support for v1alpha1
is removed. Note that some new v1alpha2
functionality still remains to be implemented,
including ReferencePolicy.

Closes #3954.

Signed-off-by: Steve Kriss <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/gateway-api Issues or PRs related to the Gateway (Gateway API working group) API. Epic
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants