Commit Graph

21 Commits

Author SHA1 Message Date
Stephen J Day 4d1a6a43cd client: deterministically resolve http scheme
The docker client has historically used Transport.TLSClientConfig to set
the scheme for the API client. A recent moved the resolution to use the
http.Transport directly, rather than save the TLSClientConfig state on a
client struct. This caused issues when mutliple calls made with a single
client would have this field set in the http package on pre-1.7
installations. This fix detects the presence of the TLSClientConfig once
and sets the scheme accordingly.

We still don't know why this issue doesn't happen with Go 1.7 but it
must be more deterministic in the newer version.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-10-11 15:53:14 -07:00
Aaron Lehmann bc55f969b0 Merge pull request #26804 from stevvooe/clear-tlsconfig-unix-socket
client: pedantic checking of tlsconfig
2016-10-11 15:47:47 -07:00
Ben Firshman a41ec7d802 Add GoDoc for client package
- Tightened up copy in README
- Make example in README a bit simpler
- Update README to point at GoDoc

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-10-10 09:27:07 +01:00
Stephen J Day e7678f3a37 client: pedantic checking of tlsconfig
Under the convoluted code path for the transport configuration,
TLSConfig was being set even though the socket type is unix. This caused
other code detecting the TLSConfig to assume https, rather than using
the http scheme. This led to a situation where if `DOCKER_CERT_PATH` is
set, unix sockets start reverting to https. There is other odd behavior
from go-connections that is also reproduced here.

For the most part, we try to reproduce the side-effecting behavior from
go-connections to retain the current docker behavior. This whole mess
needs to ripped out and fixed, as this pile spaghetti is unnacceptable.

This code is way to convoluted for an http client. We'll need to fix
this but the Go API will break to do it.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-27 16:27:48 -07:00
Stephen J Day c648e163eb client: remove transport package
This package doesn't really seem to do anything of real interest.
Removing it and replacing with a few helper functions. Most of this was
maintaining a fork of ctxhttp to support a mock that was unnecessary.

We could probably do with a further refactor of the client interface.
There is a lot of confusion of between transport, http layer and
application layer that makes for some awkward code. This change
improves the situation to the point where no breaking changes are
introduced.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-09-19 11:19:55 -07:00
Michael Crosby 3fff6acaa1 Move engine-api client package
This moves the engine-api client package to `/docker/docker/client`.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-07 11:05:58 -07:00
John Howard 969302c169 Make dockerd debuggable
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-04-26 09:35:22 -07:00
Daniel Nephin 91dd0c0c69 Build two binaries client and daemon.
Add a proxy to support 'docker daemon'
Fix configFile option, and remove a test that is no longer relevant.
Remove daemon build tag.
Remove DOCKER_CLIENTONLY from build scripts.

Signed-off-by: Daniel Nephin <dnephin@docker.com>

Change docker-daemon to dockerd.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-22 11:26:01 -04:00
Solomon Hykes 7f13a9cf3a Merge dockerd into docker. 'docker -d' runs in daemon mode. For all other commands, docker auto-detects whether to run standalone or to remote-control the daemon 2013-03-13 00:29:40 -07:00
Solomon Hykes a790f96feb Merged master 2013-03-12 21:53:34 -07:00
Solomon Hykes ae5f2d9a56 Removed interactive mode ('docker -i'). Cool UI experiment but seems more trouble than it's worth 2013-03-12 15:05:41 -07:00
creack 20c2c684b2 Put back the github.com path for the import 2013-03-12 11:59:27 -07:00
creack c4a0001d99 Merge master within fs 2013-03-12 08:33:21 -07:00
Louis Opter d895b3a7f8 Automatically remove the rcfile generated by docker -i from /tmp 2013-03-12 12:12:40 -07:00
Guillaume J. Charmes ab1211bcb8 Put back the relative paths for dev purpose 2013-03-12 05:17:51 -07:00
Guillaume J. Charmes 39ad2cf8d3 Change relative paths to absolute 2013-03-11 02:59:52 -07:00
shin- b4b078c5ae post-merge repairs 2013-03-11 07:39:06 -07:00
Solomon Hykes df5134f46e go fmt 2013-02-26 17:26:46 -08:00
Solomon Hykes 754cf30b0e Interactive mode preserves existing PATH, to facilitate scripting 2013-02-20 14:45:43 -08:00
Solomon Hykes 29aab0e4bf 'docker start' and 'docker restart': start or restart a container 2013-02-14 13:49:05 -08:00
Solomon Hykes f5594142a8 Moved server and client logic into sub-packages docker/server and docker/client, respectively. The UI is not affected. 2013-02-13 17:10:00 -08:00