-
Notifications
You must be signed in to change notification settings - Fork 29
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
Use wget for http/https package in downloader container #556
Use wget for http/https package in downloader container #556
Conversation
@@ -511,6 +516,10 @@ func getLegacyDownloadCommand(downloadPath, componentPackage string, authProvide | |||
func getDownloadCommand(downloadPath, componentPackage string, tlsProvided, authProvided bool, tlsConfig TLSConfig, | |||
authConfig *v1alpha1.AuthConfig) []string { | |||
var args []string | |||
if hasHTTPPrefix(downloadPath) { | |||
args = append(args, "wget", downloadPath, "-O", componentPackage) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need to check the availability of wget
first, then call it to download?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the pulsarctl
image has wget
, I think we can update the doc to inform users what a downloadContainer
requires (currently, it requires pulsarctl and wget)
@@ -511,6 +516,10 @@ func getLegacyDownloadCommand(downloadPath, componentPackage string, authProvide | |||
func getDownloadCommand(downloadPath, componentPackage string, tlsProvided, authProvided bool, tlsConfig TLSConfig, | |||
authConfig *v1alpha1.AuthConfig) []string { | |||
var args []string | |||
if hasHTTPPrefix(downloadPath) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another question: any chance to make this feature backport to getLegacyDownloadCommand
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like our runtime image neither have wget
nor curl
, so there will be some compatibility issues if add this feature to getLegacyDownloadCommand
:
- we can add
wget
orcurl
to runtime images and add this feature - but we also need to deprecate old runtime images or check whether given runtime images have
wget
orcurl
installed
I think there should be a general process for such a procedure(when we need to update runtime images):
- add
wget
orcurl
or other required utils to runtime images and release new versions - add the new feature to FunctionMesh
- release FunctionMesh vx.y.z, and make an announcement that FunctionMesh vx.y.z is not compatible with runtime images older than va.b.c
- for user's custom runtime images, we list the requirements(what the image should contain)
HDYT? @freeznet @tpiperatgod @nlu90 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be easily solved by Buildpacks, but we currently need a user-friendly image build workflow...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are Buildpacks-related commits merged? or docs updated in functionmesh.io?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
has provided the docs and demos
Fixes #545
Motivation
For http/https packages, we don't need to talk with pulsar cluster to download them
Modifications
Use wget for http/https packages
Verifying this change
Make sure that the change passes the CI checks.
This change added tests and can be verified as follows:
Documentation
Check the box below.
Need to update docs?
doc-required
(If you need help on updating docs, create a doc issue)
no-need-doc
(Please explain why)
doc
(If this PR contains doc changes)