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

[GEP-30] Rework API Server Proxy to Drop Proxy Protocol #10793

Merged
merged 13 commits into from
Jan 28, 2025

Conversation

knht
Copy link
Contributor

@knht knht commented Nov 4, 2024

How to categorize this PR?

/area networking
/kind enhancement

What this PR does / why we need it:

This GEP proposes to rework the API server proxy to use HTTP CONNECT instead of the proxy protocol, so that we can support more scenarios like using the ACL extension with opaque (non-transparent) LoadBalancers.

Which issue(s) this PR fixes:
Part of #11214

Special notes for your reviewer:

Release note:

NONE

@gardener-prow gardener-prow bot added area/security Security related area/networking Networking related kind/enhancement Enhancement, improvement, extension labels Nov 4, 2024
@CLAassistant
Copy link

CLAassistant commented Nov 4, 2024

CLA assistant check
All committers have signed the CLA.

@gardener-prow gardener-prow bot added the kind/api-change API change with impact on API users label Nov 4, 2024
@gardener-prow gardener-prow bot requested review from timebertt and tobschli November 4, 2024 19:38
Copy link
Contributor

gardener-prow bot commented Nov 4, 2024

Welcome @knht!

It looks like this is your first PR to gardener/gardener 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if gardener/gardener has its own contribution guidelines.

Thank you, and welcome to Gardener. 😃

@gardener-prow gardener-prow bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Nov 4, 2024
Copy link
Contributor

gardener-prow bot commented Nov 4, 2024

Hi @knht. Thanks for your PR.

I'm waiting for a gardener 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-sigs/prow repository.

@gardener-prow gardener-prow bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. labels Nov 4, 2024
@timebertt
Copy link
Member

/assign

@ScheererJ
Copy link
Member

/assign

Copy link
Member

@ScheererJ ScheererJ left a comment

Choose a reason for hiding this comment

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

Thanks for providing this enhancement proposal.

Please find below the first round of feedback.

docs/proposals/30-apiserver-proxy.md Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
@gardener-prow gardener-prow bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 26, 2024
@gardener-prow gardener-prow bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Nov 27, 2024
Copy link
Member

@ScheererJ ScheererJ left a comment

Choose a reason for hiding this comment

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

Thanks a lot for bearing with my feedback and applying it. I had a second read through the GEP and the major remaining issues from my point of view are the following:

  • Reuse of the VPN infrastructure including the existing port
  • Rollout

docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
@gardener-ci-robot
Copy link
Contributor

The Gardener project currently lacks enough active contributors to adequately respond to all PRs.
This bot triages PRs according to the following rules:

  • After 15d of inactivity, lifecycle/stale is applied
  • After 15d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 7d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Mark this PR as rotten with /lifecycle rotten
  • Close this PR with /close

/lifecycle stale

@gardener-prow gardener-prow bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 13, 2024
@timebertt
Copy link
Member

/remove-lifecycle stale

I will take over this PR and the GEP implementation (in the new year though)

@gardener-prow gardener-prow bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Dec 17, 2024
@gardener-ci-robot
Copy link
Contributor

The Gardener project currently lacks enough active contributors to adequately respond to all PRs.
This bot triages PRs according to the following rules:

  • After 15d of inactivity, lifecycle/stale is applied
  • After 15d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 7d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Mark this PR as rotten with /lifecycle rotten
  • Close this PR with /close

/lifecycle stale

@gardener-prow gardener-prow bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 2, 2025
@timebertt
Copy link
Member

/remove-lifecycle stale

@gardener-prow gardener-prow bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 3, 2025
@timebertt timebertt removed area/security Security related kind/api-change API change with impact on API users labels Jan 24, 2025
@timebertt timebertt changed the title [GEP-30] Rework apiserver-proxy to drop proxy protocol [GEP-30] Rework API Server Proxy to Drop Proxy Protocol Jan 24, 2025
@timebertt
Copy link
Member

I incorporated all feedback into the GEP. The diagrams still need to be updated though.

Copy link
Member

@ScheererJ ScheererJ left a comment

Choose a reason for hiding this comment

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

Thanks a lot for taking the time to rework the proposal. It looks very good now.
I only have a few minor remarks.

docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
docs/proposals/30-apiserver-proxy.md Outdated Show resolved Hide resolved
Copy link
Member

@timebertt timebertt left a comment

Choose a reason for hiding this comment

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

@ScheererJ thanks for your feedback and patience :)
I addressed the latest round of feedback in a new commit.

docs/proposals/30-apiserver-proxy.md Show resolved Hide resolved
Copy link
Member

@DockToFuture DockToFuture left a comment

Choose a reason for hiding this comment

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

/lgtm

Looks like a great unification and I like that we get rid of the separate ext-authz-server.

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label Jan 27, 2025
Copy link
Contributor

gardener-prow bot commented Jan 27, 2025

LGTM label has been added.

Git tree hash: 7662bc2c3358898d623a51098ac04e7aaf35160a

@gardener-prow gardener-prow bot removed the lgtm Indicates that a PR is ready to be merged. label Jan 27, 2025
Copy link
Member

@ScheererJ ScheererJ left a comment

Choose a reason for hiding this comment

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

Thanks a lot for all the changes.

/lgtm
/approve

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label Jan 28, 2025
Copy link
Contributor

gardener-prow bot commented Jan 28, 2025

LGTM label has been added.

Git tree hash: 4c0d8e832710e0511c2439b6eab636cabc03586e

Copy link
Contributor

gardener-prow bot commented Jan 28, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: DockToFuture, ScheererJ

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

@gardener-prow gardener-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 28, 2025
@ScheererJ ScheererJ 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 Jan 28, 2025
@gardener-prow gardener-prow bot merged commit 9754b83 into gardener:master Jan 28, 2025
18 checks passed
@timebertt timebertt deleted the networking-gep branch January 29, 2025 17:20
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. area/networking Networking related cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. kind/enhancement Enhancement, improvement, extension lgtm 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. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants