contour icon indicating copy to clipboard operation
contour copied to clipboard

Gateway API: Fix for Listener/Route hostname isolation

Open sunjayBhatia opened this issue 1 year ago • 10 comments

Requests should be "isolated" to the most specific Listener and it's attached routes. This means our existing logic on finding intersecting route and Listener hostnames needs an update to factor in the other Listeners on a Gateway that the route in question may not actually be attached to.

Fix for conformance test: https://github.com/kubernetes-sigs/gateway-api/pull/2669

https://github.com/kubernetes-sigs/gateway-api/pull/2465 for spec

sunjayBhatia avatar Feb 07 '24 18:02 sunjayBhatia

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.62%. Comparing base (7530c06) to head (7573ae4).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #6162      +/-   ##
==========================================
+ Coverage   81.60%   81.62%   +0.01%     
==========================================
  Files         133      133              
  Lines       15842    15857      +15     
==========================================
+ Hits        12928    12943      +15     
  Misses       2620     2620              
  Partials      294      294              
Files Coverage Δ
internal/dag/gatewayapi_processor.go 93.28% <100.00%> (+0.07%) :arrow_up:

codecov[bot] avatar Feb 07 '24 19:02 codecov[bot]

Just a rough implementation whipped up, might need some improvements but for now we have something that works with the existing structure

sunjayBhatia avatar Feb 07 '24 19:02 sunjayBhatia

The Contour project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 14d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, the PR is closed

You can:

  • Ensure your PR is passing all CI checks. PRs that are fully green are more likely to be reviewed. If you are having trouble with CI checks, reach out to the #contour channel in the Kubernetes Slack workspace.
  • Mark this PR as fresh by commenting or pushing a commit
  • Close this PR
  • Offer to help out with triage

Please send feedback to the #contour channel in the Kubernetes Slack

github-actions[bot] avatar Feb 24 '24 00:02 github-actions[bot]

The Contour project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 14d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, the PR is closed

You can:

  • Ensure your PR is passing all CI checks. PRs that are fully green are more likely to be reviewed. If you are having trouble with CI checks, reach out to the #contour channel in the Kubernetes Slack workspace.
  • Mark this PR as fresh by commenting or pushing a commit
  • Close this PR
  • Offer to help out with triage

Please send feedback to the #contour channel in the Kubernetes Slack

github-actions[bot] avatar Mar 12 '24 00:03 github-actions[bot]

The Contour project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 14d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, the PR is closed

You can:

  • Ensure your PR is passing all CI checks. PRs that are fully green are more likely to be reviewed. If you are having trouble with CI checks, reach out to the #contour channel in the Kubernetes Slack workspace.
  • Mark this PR as fresh by commenting or pushing a commit
  • Close this PR
  • Offer to help out with triage

Please send feedback to the #contour channel in the Kubernetes Slack

github-actions[bot] avatar Apr 11 '24 00:04 github-actions[bot]

The Contour project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 14d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, the PR is closed

You can:

  • Ensure your PR is passing all CI checks. PRs that are fully green are more likely to be reviewed. If you are having trouble with CI checks, reach out to the #contour channel in the Kubernetes Slack workspace.
  • Mark this PR as fresh by commenting or pushing a commit
  • Close this PR
  • Offer to help out with triage

Please send feedback to the #contour channel in the Kubernetes Slack

github-actions[bot] avatar Apr 29 '24 00:04 github-actions[bot]

I think this impl makes sense? Is it passing the latest version of the upstream conformance (https://github.com/kubernetes-sigs/gateway-api/pull/3047)?

skriss avatar May 03 '24 19:05 skriss

I think this impl makes sense? Is it passing the latest version of the upstream conformance (kubernetes-sigs/gateway-api#3047)?

it was before that PR got recreated, I'll rebase etc. on the version bump PR and see if it still does!

sunjayBhatia avatar May 03 '24 19:05 sunjayBhatia

I think this impl makes sense? Is it passing the latest version of the upstream conformance (kubernetes-sigs/gateway-api#3047)?

it was before that PR got recreated, I'll rebase etc. on the version bump PR and see if it still does!

passed in https://github.com/projectcontour/contour/actions/runs/8944042687/job/24570214238

sunjayBhatia avatar May 03 '24 19:05 sunjayBhatia

Nice, LGTM

skriss avatar May 03 '24 20:05 skriss