coreos/update_engine — pull request #37 by marineam (2014-06-28 23:19:10+00:00)
Title: http_fetcher: remove all remaining proxy handling code

Instead of implementing a new ProxyResolver class that reads environment
variables we can support the feature simply by removing the mechanism
entirely. libcurl has built in support for reading proxy information
from the environment itself but was overridden in LibcurlHttpFetcher.

This does eliminate the mechanism for trying multiple proxies or and
attempting direct connections periodically to work around broken
proxies. Arguably CoreOS actually shouldn't try to do this. Unlike an
average ChromeOS user an admin that configures their infrastructure to
use a proxy is more likely to notice and get grumpy if CoreOS randomly
ignores the proxy and attempts to connect directly.

A basic test to demonstrate this:
```yaml
#cloud-config
coreos:
units:
- name: update-engine.service.d/90-proxy.conf
content: |
[Service]
Environment=all_proxy=http://localhost:3128
- name: update-engine.service
command: restart
- name: update-proxy.service
command: start
content: |
[Service]
ExecStart=/usr/bin/ncat --proxy-type http -l -vvv localhost 3128
```

Implementing features by deleting code FTW!