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

Add Default Apps Domain enhancement #432

Merged

Conversation

dustman9000
Copy link
Member

@dustman9000 dustman9000 commented Aug 12, 2020

This adds the Default Apps Domain enhancement.

Associated NE RFE: https://issues.redhat.com/browse/RFE-952

@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 Aug 12, 2020
@dustman9000
Copy link
Member Author

/assign @knobunc
/assign @Miciah
/assign @jharrington22

@dustman9000 dustman9000 changed the title [WIP] Add Default Apps Domain enhancement Add Default Apps Domain enhancement Sep 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 Sep 4, 2020
@dustman9000
Copy link
Member Author

/label tide/merge-method-squash

@openshift-ci-robot openshift-ci-robot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Sep 4, 2020
@dustman9000
Copy link
Member Author

/assign @knobunc

@dustman9000
Copy link
Member Author

/assign @danehans
/assign @sgreene570
/assign @frobware

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.

Is there a jira ticket / RFE associated with this EP for additional context?

enhancements/ingress/default-apps-domain.md Outdated Show resolved Hide resolved
@dustman9000
Copy link
Member Author

Is there a jira ticket / RFE associated with this EP for additional context?

Yes, the NE RFE is https://issues.redhat.com/browse/RFE-952

enhancements/ingress/default-apps-domain.md Outdated Show resolved Hide resolved
enhancements/ingress/default-apps-domain.md Outdated Show resolved Hide resolved
enhancements/ingress/default-apps-domain.md Outdated Show resolved Hide resolved

Certain routes are created by various operators at install time. These routes
could be potentially be deleted and re-added post-install time. Implementation
must ensure these routes use the original domain when re-added.
Copy link
Contributor

Choose a reason for hiding this comment

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

Does "Implementation" means whatever operator creates the route? For example, cluster-foo-operator creates route "foo", and after this enhancement, cluster-foo-operator must ensure that it specifies a value for spec.host based on domain from the cluster ingress config when the operator creates route "foo".

Copy link
Member Author

@dustman9000 dustman9000 Oct 8, 2020

Choose a reason for hiding this comment

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

That's correct. The concern here is that if the route was created by an operator without a spec.host value, if the route is re-added it could take on the new spec.appsDomain value. Let me know if I should keep this out of the "implementation" section. I wasn't sure where to raise this concern.

Copy link
Contributor

@sgreene570 sgreene570 Oct 12, 2020

Choose a reason for hiding this comment

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

Console and auth operators come to mind...after this enhancement is implemented, should the console/auth operators be specifying spec.host on their owned routes for 4.7 going forward? And should those operators should also assume that the original cluster domain is the intended host? In other words, there isn't a need for the console and auth routes to be moved under the new app default domain, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

@sgreene570 - Correct, there is no need to move the console/oauth routes under the new domain. For now, since this enhancement is primarily for user-created routes, I would suggest we restrict this enhancement to user-created namespaces (ie. not in openshift-* and redhat-*).

Copy link
Contributor

Choose a reason for hiding this comment

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

@sgreene570, note that setting appsDomain is day-2 (post-install) configuration. This means that operators will have already created the routes, and the API will have set default values for spec.host based on the ingress domain if the operators did not specify spec.host. The only concern is that the cluster administrator could modify appsDomain and something could subsequently delete the operator-created routes, and if the operators then recreated the routes without specifying an explicit spec.host value, they API would use the wrong domain (appsDomain instead of domain) for the operator-created routes.

Copy link
Contributor

Choose a reason for hiding this comment

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

The authentication operator specifies spec.host: https://github.com/openshift/cluster-authentication-operator/blob/b9d7a84f9db82d0e622b0d0b9c5d9162e810985f/pkg/controllers/metadata/metadata_controller.go#L245

The console operator does not: https://github.com/openshift/console-operator/blob/b195cebf52ea7af30178f4704ac269f482d70208/pkg/console/subresource/route/route.go#L69-L85

@spadgett, to address this contingency, it might make sense for the console operator to do something similar to the authentication operator for the console's default route.

enhancements/ingress/default-apps-domain.md Show resolved Hide resolved
enhancements/ingress/default-apps-domain.md Outdated Show resolved Hide resolved
@Miciah
Copy link
Contributor

Miciah commented Oct 21, 2020

/lgtm

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

knobunc commented Oct 22, 2020

/approve

@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dustman9000, knobunc, Miciah

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 Oct 22, 2020
@openshift-merge-robot openshift-merge-robot merged commit c813e6e into openshift:master Oct 22, 2020
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. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants