Paul Bellamy
7cc53c4c68
[proxy] Handle case where no command is specified.
...
The docker daemon can't do this because we set /w/w.
2015-08-04 12:32:42 +01:00
Paul Bellamy
4958b8d37a
[proxy] Mount /w from the host for weavewaited containers
...
We set it at container create. Had tried also setting it at start, but
it seems to cause weird behaviour, and there is no way to do it from the
CLI.
2015-07-30 15:11:03 +01:00
Paul Bellamy
e2389a4061
[proxy] Don't try to attach if container failed to start
2015-07-30 13:31:47 +01:00
Paul Bellamy
aa8466f688
[proxy] Mount weavewait readonly so it can't be tampered with
2015-07-21 11:30:56 +01:00
Paul Bellamy
3f4b385b0f
[proxy] If we can't CloseWrite a connection (tls), just Close it so clients don't hang
2015-07-17 14:09:27 +01:00
Paul Bellamy
5fc16a8267
[proxy] use a waitgroup as it's more semantically accurate
2015-07-17 14:08:51 +01:00
Paul Bellamy
c6fa9cb17e
refactor weaveCIDRsFromConfig to return an error message
2015-07-16 15:15:32 +01:00
Paul Bellamy
9619a27f8c
[proxy] adding log message for ignored containers
2015-07-16 14:01:22 +01:00
Paul Bellamy
c13154eea9
updating comment as per golint
2015-07-16 13:58:30 +01:00
Paul Bellamy
1132d26d47
[proxy] do not weave attach containers in '--net=host|container:<name|id>'
2015-07-16 13:58:27 +01:00
Paul Bellamy
e4422205e8
[proxy] should not attempt weavewait in on weave container's execs
2015-07-15 16:14:14 +01:00
Paul Bellamy
acd8bdec21
[proxy] respect custom DOCKER_BRIDGE
2015-07-14 16:33:35 +01:00
Adam Harrison
3914c4c018
Enforce maximum length on proxy hostname derivation
2015-07-02 14:29:34 +01:00
Paul Bellamy
34aa2e32d8
[proxy] Only prepend weavewait if not already present
...
This way `docker commit` will not stack up weavewaits.
2015-06-22 15:24:49 +01:00
Matthias Radestock
3732f968d0
include image name in errors
...
The go docker client's ErrNoSuchImage does not include the image
name. However, it is imperative that this name appears in error
messages sent to clients, since the docker client, as of version
1.7.0, only automatically pulls images when their name is present in
the error.
Fixes #967 .
2015-06-20 23:36:48 +01:00
Paul Bellamy
6c26a55b5a
[proxy] refactor weaveCIDRsFromConfig slightly
2015-06-17 14:51:12 +01:00
Paul Bellamy
ca681bce13
[proxy] Add support for WEAVE_CIDR=none
...
Tells the proxy not to do anything with this container. We set it when
running weaveexec/weave/etc containers, so that the weave script works
through the proxy.
2015-06-17 14:51:12 +01:00
Paul Bellamy
220c80c3ed
[proxy] --with-ipam -> --no-default-ipam
2015-06-17 11:31:33 +01:00
Adam Harrison
b8afefa55f
Merge pull request #931 from paulbellamy/weavedns_default_search_domain
...
[dns] resolve names in `weave.local` by default unless hostname or search path is specified
2015-06-16 18:13:17 +01:00
Bryan Boreham
fd5ac633d3
Use weave attach --or-die in proxy instead of killing it in the proxy.
2015-06-16 16:05:41 +01:00
Paul Bellamy
2c3baa9119
use weavedns search-domain by default
...
iff no hostname/dns-search specified
2015-06-16 15:13:19 +01:00
Paul Bellamy
8873d69b77
[proxy] Add --without-dns flag, and change meaning of --with-dns flag
2015-06-16 14:07:40 +01:00
Bryan Boreham
79db00a90e
Strip trailing period from hostname generated from weavedns domain.
...
We strip at the calling point rather than in the server, because DNS
servers do see the domain as ending with a '.' representing the root.
2015-06-16 10:26:11 +01:00
Paul Bellamy
96bda1639e
define weavedns http port as a constant
2015-06-11 10:27:35 +01:00
Paul Bellamy
99d9ad7042
[proxy] query weavedns for domain
2015-06-11 10:27:34 +01:00
Paul Bellamy
b9850ac200
[proxy] Set hostname and domainname based on container name, when dns
...
Had to make the assert_dns_record test helper more robust against
'getent hosts' returning duplicates
2015-06-11 10:27:29 +01:00
Paul Bellamy
2d5e362115
[proxy] use logs for getting proxy-env and proxy-config
...
It's ugly, but beats arg-parsing, inspecting the container and piecing
the address together from exposed ports.
We could just use the host from DOCKER_HOST, but that will fail in the
case of a host with multiple IPs, where the proxy only listens on one.
2015-06-10 15:24:53 +01:00
Matthias Radestock
5c70c7c71a
simplify interceptor structs by referencing proxy
2015-06-09 14:45:50 +01:00
Matthias Radestock
020a9ea396
rename file
2015-06-09 14:45:50 +01:00
Matthias Radestock
3f9c7a5c00
remove pointless indirection
2015-06-09 14:45:50 +01:00
Matthias Radestock
f025b6ea36
refactor interceptor invocation
2015-06-09 14:45:42 +01:00
Matthias Radestock
fee2898c05
remove detailed proxy status
...
There are two problems with obtaining the proxy status via the normal
proxy endpoint...
1. when TLS is enabled, this requires using TLS at the client end
2. the status URL is mixed in with the docker remote API, which is
rather unclean
There is limited value to having some status output from the proxy,
since all the output is constant.
So instead we log the version and command line args, and in `weave
status` only report whether the proxy is running.
We still want a way to wait for the proxy to start up, and log a nice
error if it dies. We do this by polling the docker logs for a startup
message.
Fixes #877 . Fixes #876 .
Undoes most of #756 , #800 , #854 .
2015-06-09 14:03:52 +01:00
Matthias Radestock
f9c325c793
refactor: more sensible field order
2015-06-08 21:57:49 +01:00
Matthias Radestock
c10f1dacad
introduce OnOff helper, for consistency in status output
2015-06-05 15:00:02 +01:00
Paul Bellamy
127cffba6f
[proxy] add TLS to /status
2015-06-05 13:38:55 +01:00
Paul Bellamy
c0cf9e509c
[proxy] Added proxy.Config struct for initialization
2015-06-05 13:23:14 +01:00
Paul Bellamy
c31358259f
[proxy] Add tls support
...
Caveats:
* TLS files must be present on the target server (and readable)
* TLS file paths cannot contain spaces
* TLS file paths must be absolute (i.e. cannot be relative)
* Bash argument parsing is terrible
2015-06-05 13:23:14 +01:00
Paul Bellamy
e2447721eb
[proxy] We can only rely on receiving a signal when we are a container
...
Due to https://github.com/docker/docker/issues/9098 , there is no way to
signal an exec. Instead we'll have to just poll the interface and hope.
Adds `weavewait -s` which is the way to tell weavewait to skip waiting
for a signal, which we use on execs
2015-06-02 17:21:41 +01:00
Paul Bellamy
92444a75eb
[proxy] Use USR2 signal to tell weavewait when to continue
...
There was a race condition with containers running and exiting before
`weave attach` was finished, which would cause an error.
2015-06-02 15:48:49 +01:00
Paul Bellamy
91375a1095
Revert "First pass at Proxy SSL Support"
2015-06-02 12:48:38 +01:00
Paul Bellamy
d80ffa8ad2
working on bash argument parsing
2015-06-01 16:50:52 +01:00
Paul Bellamy
74afbc5505
Proof-of-Concept for proxy TLS support
...
The code is quite messy, but particularly the argument parsing and
volume-mounting. Also, it doesn't support args with spaces, or
non-absolute file-paths.
2015-06-01 16:50:52 +01:00
Matthias Radestock
59fd53ee99
Merge pull request #800 from paulbellamy/proxy-status
...
Add proxy info to 'weave status' output
Closes #756 .
2015-05-29 17:13:33 +01:00
Paul Bellamy
7f62ba6ebe
Add proxy info to './weave status' output
2015-05-29 17:05:25 +01:00
Paul Bellamy
ece1fa1b1b
Merge remote-tracking branch 'upstream/0.11'
2015-05-29 16:35:59 +01:00
Paul Bellamy
2be69634df
replace proxy /weave endpoint with /status
...
which is more standard with others, and doesn't conflict with docker api
2015-05-29 15:48:33 +01:00
Paul Bellamy
0cb2e80e09
Proxy kills container and returns error when attach fails
2015-05-29 14:37:33 +01:00
Paul Bellamy
e3e5934c51
Merge remote-tracking branch 'upstream/0.11'
...
Conflicts:
proxy/common.go
2015-05-28 17:43:30 +01:00
Paul Bellamy
c8b95a2527
fix bug in proxy handling of minimal request bodies
2015-05-28 16:24:04 +01:00
Paul Bellamy
169eb19523
allow proxy to intercept unversioned (i.e. 1.0) urls
2015-05-28 16:24:02 +01:00