-
Notifications
You must be signed in to change notification settings - Fork 116
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
alternate_cdn is ignored (discussion) #325
Comments
Yes it shouldn't work. I do not have plans to support this... I thought about closing this issue but we should have a discussion about this. Do you want to download a file and pass the url directly to webdriver-manager? Do you want something like this?
Are you using Protractor to use these binaries? How are you starting your selenium server or are you using direct connect? Potentially the flag "alternative_cdn" is the wrong name for this flag. |
I'm able to point to this guy's alternate cdn and it works for me: https://github.com/JohannesHoppe/webdriver-manager-alternate-cdn I think the problem is that your cdn is only the chrome stuff & not all the things that need downloaded in the right structure. Note that his cdn has more than just the chrome stuff hosted. |
Okay. So I have more questions:
Finally is the goal to download files like:
I definitely think the flag name should be renamed since it runs a different workflow. Alternative cdn implies that there's an endpoint that has the exact same setup to download a cache of versions and parses the file to find a downloadable version. Downloading a file by URL might be helpful because of the way webdriver-manager downloads files. This might be important so it can create the file (in the current project this is update-config.json) required to run directConnect or starting Protractor with a local driverProvider. |
I think in a corporate environment you can trust the alternative source for binaries. Our workaround is downloading the binary manually:
And setting the chromeDriver binary in the protractor.conf.js. |
The organization I am working at (government) is currently blocking storage.googleapis.com so we are trying to figure out how to work around that. Could these files be packaged into their own NPMs like the selenium-server-standalone-jar NPM? Or could they be downloaded from a site with better content curation (i.e. less likely to be blocked)? |
We are hitting GitHub's rate limit after some time which makes our CD pipeline fail. We would really like to place our binaries in our binary repository and download from there. Maybe also a remote (proxy) repository would work so we could at least use a cache. |
So I guess if you had a box externally to your network that did a proxy forward to storage.googleapis.com, you could download from whatever host name you created? So instead doing something like:
You could call:
I guess if this is the specific use case, I could maybe create the basic nginx config for this and provide it when you use an an "alternative_cdn". And all the calls would go to (in this example), myrandomurl.com. When calling GitHub, I'm not sure how this will handle the redirects. Alternatively, if you did have an externally running job, I would think about running webdriver-manager update and rysnc-ing or copying these files to a local machine. |
Should also look at #300 |
Okay after discussion with the team offline, this is not something we will support. |
May I ask why would you provide the option Isn't it the basic principle of binary repositories to be organized as a star network where each company is supposed to maintain its own private cache of the upstream CDN? |
V. 12.1.0
Running the command with alternate_cdn tries to download the file via the URL defined in config.json:
I think the reason is the missing pass through of the alternate cdn to the config file f.e.
webdriver-manager/lib/binaries/chrome_xml.ts
Lines 9 to 11 in 6775421
The text was updated successfully, but these errors were encountered: