-
Notifications
You must be signed in to change notification settings - Fork 150
manifests/07-downloads-deployment: Serve from standardized paths #354
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
Conversation
Lean on the path consistency from openshift/oc@e949088d (Enable all Linux arches in cli-artifacts, 2019-11-07, openshift/oc#153) to make it easier to scale as we add/remove arch/OS support. With this commit, the downloads deployment is less opinionated about what is in the cli-artifacts bundle. It looks for all possible arch/OS combinations, serves what it finds, and 404s requests for binaries it could not find. I've also renamed mac -> darwin in the canonical URIs, so there's no mental overhead for translating from the conventional GOOS/GOARCH [1]. I've added symlinks in the pod to support external folks who had hard-coded the old URIs, but we should be able to drop those symlinks after a reasonable deprecation period. I have not overhauled the server to 301 requests to the deprecated URI, and we probably want that before dropping the symlinks. [1]: https://golang.org/doc/install/source#environment
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: wking The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@wking: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions 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/test-infra repository. I understand the commands that are listed here. |
These are where the binaries lived before e949088 (Enable all Linux arches in cli-artifacts, 2019-11-07, openshift#153), and since the extraction chokes on hardlinks [1], we need to be looking at those locations to extract from 4.2.z and older releases. Also shuffles the Dockerfile around to move the darwin and Windows builds to their old locations and symlink them from the standard locations. That way older 4.2.z releases will find regular files at the locations they expect, but that we'll be able to serve files from the standardized pattern in the downloads deployment [2]. I'm also removing the cli-artifacts-built linux/amd64 binary in favor of the build we inherited from the parent cli image. [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1774642 [2]: openshift/console-operator#354
|
Needs a rebase. |
|
@wking: PR needs rebase. DetailsInstructions 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/test-infra repository. |
|
@wking could you please rebase this PR |
Sorry, missed these. And since openshift/oc#171 partially walked back the standardized paths, this approach will no longer work without some touchups. I'll close until we get openshift/oc#172 or similar to restore the standardized paths which would let us revive this approach. |
Lean on the path consistency from openshift/oc@e949088d (openshift/oc#153) to make it easier to scale as we add/remove arch/OS support. With this commit, the downloads deployment is less opinionated about what is in the cli-artifacts bundle. It looks for all possible arch/OS combinations, serves what it finds, and 404s requests for binaries it could not find.
I've also renamed mac -> darwin in the canonical URIs, so there's no mental overhead for translating from the conventional GOOS/GOARCH. I've added symlinks in the pod to support external folks who had hard-coded the old URIs, but we should be able to drop those symlinks after a reasonable deprecation period. I have not overhauled the server to 301 requests to the deprecated URI, and we probably want that before dropping the symlinks.
CC @yselkowitz, previous discussion here and in later comments in that thread.