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

ingress: Add proxy-protocol enhancement #664

Conversation

Miciah
Copy link
Contributor

@Miciah Miciah commented Feb 23, 2021

This enhancement enables cluster administrators to enable PROXY protocol on IngressControllers.

Copy link
Contributor

@sgreene570 sgreene570 left a comment

Choose a reason for hiding this comment

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

Could you update the description field of this PR? I believe the new "This Week in Enhancements" tool parses an enhancement summary from there.

When OpenShift is configured with an external load-balancer in front of an
IngressController, the connections that the IngressController receives have the
load balancer's address (instead of the original client addresses) as the source
address. PROXY protocol enables the external load-balancer to preserve the
Copy link
Contributor

Choose a reason for hiding this comment

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

Would it be worth mentioning that PROXY protocol is already enabled for Ingress Controller's with an endpoint publishing strategy of LoadBalancerService on AWS by default?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've rewritten this section to describe service load-balancers versus external load-balancers and the various endpoint publishing strategies.


### Non-Goal

1. Enabling PROXY protocol to be configured on individual Routes.
Copy link
Contributor

Choose a reason for hiding this comment

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

Would a non-goal be allowing PROXY protocol to be configured when using the LoadBalancerService endpoint publishing strategy? (I guess mentioning this here would be slightly redundant but can't hurt to be explicit, considering our current usage of PROXY protocol on default ingress controllers on AWS)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It would. I added a non-goal as you suggested. Thanks!


### User Stories

#### As a cluster administrator, I need my IngressController to use PROXY protocol to communicate with my external load-balancer.
Copy link
Contributor

@sgreene570 sgreene570 Feb 23, 2021

Choose a reason for hiding this comment

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

I think you may need to drop the period at the end of this line to satisfy the new lint rules.

@Miciah Miciah force-pushed the ingress-add-proxy-connection-enhancement branch from aabd06b to 328c3b9 Compare February 23, 2021 20:26
@Miciah Miciah changed the title ingress: Add proxy-connection enhancement ingress: Add proxy-protocol enhancement Feb 23, 2021
@Miciah
Copy link
Contributor Author

Miciah commented Feb 23, 2021

Could you update the description field of this PR? I believe the new "This Week in Enhancements" tool parses an enhancement summary from there.

I copied and pasted the summary from the enhancement. I hope that is sufficient.

### Non-Goals

1. Enabling PROXY protocol to be configured on individual Routes.
1. Enable cluster administrators to enable PROXY protocol on IngressControllers that use the "LoadBalancerService" or "Private" endpoint publishing strategies.
Copy link
Contributor

@sgreene570 sgreene570 Mar 1, 2021

Choose a reason for hiding this comment

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

nit: The non-goals list has 2 items with numbering 1 (yet it renders with the correct numbering 🤔 )

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's a markdown thing. If each item is numbered with 1, the generator converts it into a properly numbered list. That's especially nice when dealing with diffs.

Copy link
Contributor

Choose a reason for hiding this comment

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

huh TIL

@sgreene570
Copy link
Contributor

/lgtm
/hold for others to review

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 1, 2021
@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Mar 1, 2021
@knobunc
Copy link
Contributor

knobunc commented Mar 22, 2021

/approve

@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: knobunc

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

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 22, 2021
@Miciah Miciah force-pushed the ingress-add-proxy-connection-enhancement branch from 328c3b9 to fdd0d19 Compare March 26, 2021 16:13
@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Mar 26, 2021
@Miciah
Copy link
Contributor Author

Miciah commented Mar 26, 2021

Latest push updates the API definitions with the revised ones from openshift/api#871.

@sgreene570
Copy link
Contributor

Latest push updates the API definitions with the revised ones from openshift/api#871.

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Mar 26, 2021
@Miciah
Copy link
Contributor Author

Miciah commented Mar 29, 2021

/hold cancel

@openshift-ci-robot openshift-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 29, 2021
@openshift-merge-robot openshift-merge-robot merged commit 4682c2c into openshift:master Mar 29, 2021
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. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants