aws / aws/aws-elastic-beanstalk-cli-setup
no (corporate) proxy option in installer
- Dominant language
- Python
- Stars
- 537
- Forks
- 226
- PR merge metrics
- No merged PRs in 30d
Description
```
.\aws-elastic-beanstalk-cli-setup2\scripts\bundled_installer
C:\Users\XXX\Documents\git>Powershell.exe -executionpolicy remotesigned -File "C:\Users\XXX\Documents\git\aws-elastic-beanstalk-cli-setup\scripts\\bundled_installer.ps1"
==============================================
I. Installing Python
==============================================
**************************************************
1. Looking for existing Python 3.7.3 installation.
**************************************************
*************************************
2. Downloading x64 version of Python.
*************************************
Failed to download Python. The following exception was raised:
System.Management.Automation.MethodInvocationException: Ausnahme beim Aufrufen von "DownloadFile" mit 2 Argument(en): "Der Remoteserver hat einen Fehler zurückgegeben: (407) Proxyauthentifizierung erforderlich." ---> System.Net.WebException: Der Remoteserver hat einen Fehler zurückgegeben: (407) Proxyauthentifizierung erforderlich.
bei System.Net.WebClient.DownloadFile(Uri address, String fileName)
bei CallSite.Target(Closure , CallSite , Object , Object , Object )
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext funcContext, Exception exception)
bei System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(InterpretedFrame frame)
bei System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
bei System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
```
there is no markup readme documenting how to use the installer with a corporate proxy and no documented command line options to specify the proxy user, password server and port.
https://docs.aws.amazon.com/de_de/cli/latest/userguide/cli-configure-proxy.html
documents how to set up a proxy but not how to tell it to trust the proxy's SSL certificate.
The "2. Installing virtualenv" step will just fail with
`Could not fetch URL https://pypi.python.org/simple/virtualenv/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/virtualenv/ (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)'),)) - skipping`
If the script would create a %APPDATA%\pip\pip.ini with
```
[global]
trusted-host = pypi.python.org
pypi.org
files.pythonhosted.org
```
it would be able to have pip download virtualenv after downloading python.
Since it does install an old version of pip, it wouldn't hurt to do
`python -m pip install --upgrade pip` in the process.
Contributor guide
Research direction
Start with scripts/bundled_installer.ps1 and reproduce the reported Windows failure during the Python download. Review the Python download and virtualenv installation steps, along with the requested pip.ini settings; done means the installer supports the documented corporate proxy details and can complete virtualenv installation when the proxy certificate requires trust configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell, python
- Domain
- networking, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100