Skip to content

Conversation

@sacharya
Copy link
Contributor

@sacharya sacharya commented May 1, 2020

No description provided.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 1, 2020
@sacharya
Copy link
Contributor Author

sacharya commented May 1, 2020

Will add some tests, but wanted to leave it here for review.

@sacharya sacharya force-pushed the route branch 2 times, most recently from 0216864 to 2675c49 Compare May 1, 2020 21:10
@sacharya sacharya changed the title WIP: Create a route for Cincinnati service Create a route for Cincinnati service May 4, 2020
@openshift-ci-robot openshift-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 4, 2020
@sacharya sacharya force-pushed the route branch 5 times, most recently from c29a829 to 38d75bf Compare May 5, 2020 15:06
@sacharya
Copy link
Contributor Author

/retest

@sacharya
Copy link
Contributor Author

/retest

Copy link
Contributor

@rwsu rwsu left a comment

Choose a reason for hiding this comment

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

I have one question about the purpose of: routev1.Install(mgr.GetScheme()).

Other than that,
/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label May 21, 2020
Copy link
Member

@djzager djzager left a comment

Choose a reason for hiding this comment

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

/lgtm

@sacharya
Copy link
Contributor Author

/test all

Copy link
Member

@mhrivnak mhrivnak left a comment

Choose a reason for hiding this comment

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

Looks good. Just one little suggestion.

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label May 21, 2020
@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label May 21, 2020
@mhrivnak
Copy link
Member

/lgtm

@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: djzager, mhrivnak, rthallisey, rwsu, sacharya

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

The pull request process is described here

Details 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 May 21, 2020
@openshift-merge-robot openshift-merge-robot merged commit d369a11 into openshift:master May 21, 2020
wking added a commit to wking/cincinnati-operator that referenced this pull request Sep 15, 2020
We had used InsecureEdgeTerminationPolicyAllow since the route landed
in 1fdf865 (Create a route for Cincinnati service, 2020-05-01,
commit message, but from discussion in the GitHub pull request [1], it
was:

* InsecureEdgeTerminationPolicyAllow is the default termination
  policy.
* Cincinnati's docs have no preference [2].

However, we really, really want HTTPS security for cluster-version
operators making upstream requests for update recommendations.  There
are long-term plans for tightening down guards against malicious,
compromised, or man-in-the-middled update recommendation services, but
today we have yet to land even guards as basic as "upstream is lying
about the version string associated with a given release image" [3].

By removing HTTP termination [4], we force consumers to configure
their clients, including the cluster-version operator, with https://
URIs (or do something else explicit like setting up their own HTTP
termination) before they can access the policy-engine output, which
reduces the risk that they will recieve and trust compromised update
graphs.  This may be a breaking change, but:

* We're still in beta, and not yet in general-availability with
  backwards-compatability requirements.
* Folks who have configured their cluster-version operators and other
  clients with http:// upstreams should *want* to be broken.  We are
  protecting them from all sorts of compromised-upstream failure
  modes.
* The cluster-version operator, and other well-behaved clients, will
  report understandable error messages for "I tried to connect over
  HTTP and there was nobody there", which will lead users into
  auditing and fixing their upstream URIs, so recovering from the
  breakage should not be to onerous.

[1]: openshift#30 (comment)
[2]: https://github.com/openshift/cincinnati/blame/0bb5f6f3228858f9e5d1807bd6f45f46e537cdea/docs/user/running-cincinnati.md#L87-L88
[3]: openshift/cluster-version-operator#431
[4]: https://github.com/openshift/api/blob/346618ed7d5e6396191efe6f10b2c36f1e95d8b7/route/v1/types.go#L258-L259
wking added a commit to wking/cincinnati-operator that referenced this pull request Sep 15, 2020
We had used InsecureEdgeTerminationPolicyAllow since the route landed
in 1fdf865 (Create a route for Cincinnati service, 2020-05-01, openshift#30).
The motivation for that value didn't make it into the Git commit
message, but from discussion in the GitHub pull request [1], it was:

* InsecureEdgeTerminationPolicyAllow is the default termination
  policy.
* Cincinnati's docs have no preference [2].

However, we really, really want HTTPS security for cluster-version
operators making upstream requests for update recommendations.  There
are long-term plans for tightening down guards against malicious,
compromised, or man-in-the-middled update recommendation services, but
today we have yet to land even guards as basic as "upstream is lying
about the version string associated with a given release image" [3].

By removing HTTP termination [4], we force consumers to configure
their clients, including the cluster-version operator, with https://
URIs (or do something else explicit like setting up their own HTTP
termination) before they can access the policy-engine output, which
reduces the risk that they will recieve and trust compromised update
graphs.  This may be a breaking change, but:

* We're still in beta, and not yet in general-availability with
  backwards-compatability requirements.
* Folks who have configured their cluster-version operators and other
  clients with http:// upstreams should *want* to be broken.  We are
  protecting them from all sorts of compromised-upstream failure
  modes.
* The cluster-version operator, and other well-behaved clients, will
  report understandable error messages for "I tried to connect over
  HTTP and there was nobody there", which will lead users into
  auditing and fixing their upstream URIs, so recovering from the
  breakage should not be to onerous.

[1]: openshift#30 (comment)
[2]: https://github.com/openshift/cincinnati/blame/0bb5f6f3228858f9e5d1807bd6f45f46e537cdea/docs/user/running-cincinnati.md#L87-L88
[3]: openshift/cluster-version-operator#431
[4]: https://github.com/openshift/api/blob/346618ed7d5e6396191efe6f10b2c36f1e95d8b7/route/v1/types.go#L258-L259
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.

7 participants