aws / aws/aws-elastic-beanstalk-cli-setup

no (corporate) proxy option in installer

Open
#43 1 comment 0 reactions 0 assignees View on GitHub
requires readme update
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.