diff --git a/.gitignore b/.gitignore index 8277a2f7..9a5aa837 100644 --- a/.gitignore +++ b/.gitignore @@ -42,7 +42,6 @@ prog/weavewait/weavewait prog/weavewait/weavewait_noop prog/weavewait/weavewait_nomcast prog/weaveutil/weaveutil -prog/docker_tls_args/docker_tls_args prog/plugin/plugin testing/cover/cover testing/runner/runner @@ -60,7 +59,6 @@ prog/weaveexec/weavewait_noop prog/weaveexec/weavewait_nomcast prog/weaveexec/sigproxy prog/weaveexec/weaveutil -prog/weaveexec/docker_tls_args prog/weaveexec/docker*.tgz Vagrantfile.local test/tls/tls diff --git a/Makefile b/Makefile index 321a6740..57e1fffb 100644 --- a/Makefile +++ b/Makefile @@ -16,12 +16,11 @@ WEAVEWAIT_EXE=prog/weavewait/weavewait WEAVEWAIT_NOOP_EXE=prog/weavewait/weavewait_noop WEAVEWAIT_NOMCAST_EXE=prog/weavewait/weavewait_nomcast WEAVEUTIL_EXE=prog/weaveutil/weaveutil -DOCKERTLSARGS_EXE=prog/docker_tls_args/docker_tls_args DOCKERPLUGIN_EXE=prog/plugin/plugin RUNNER_EXE=tools/runner/runner TEST_TLS_EXE=test/tls/tls -EXES=$(WEAVER_EXE) $(SIGPROXY_EXE) $(WEAVEPROXY_EXE) $(WEAVEWAIT_EXE) $(WEAVEWAIT_NOOP_EXE) $(WEAVEWAIT_NOMCAST_EXE) $(WEAVEUTIL_EXE) $(DOCKERTLSARGS_EXE) $(DOCKERPLUGIN_EXE) $(TEST_TLS_EXE) +EXES=$(WEAVER_EXE) $(SIGPROXY_EXE) $(WEAVEPROXY_EXE) $(WEAVEWAIT_EXE) $(WEAVEWAIT_NOOP_EXE) $(WEAVEWAIT_NOMCAST_EXE) $(WEAVEUTIL_EXE) $(DOCKERPLUGIN_EXE) $(TEST_TLS_EXE) WEAVER_UPTODATE=.weaver.uptodate WEAVEEXEC_UPTODATE=.weaveexec.uptodate @@ -82,11 +81,10 @@ $(WEAVEUTIL_EXE): prog/weaveutil/*.go # These next programs need separate rules as they fail the netgo check in # the main build stanza due to not importing net package $(SIGPROXY_EXE): prog/sigproxy/*.go -$(DOCKERTLSARGS_EXE): prog/docker_tls_args/*.go $(DOCKERPLUGIN_EXE): prog/plugin/*.go plugin/net/*.go plugin/ipam/*.go plugin/skel/*.go api/*.go common/docker/*.go $(TEST_TLS_EXE): test/tls/*.go -$(SIGPROXY_EXE) $(DOCKERTLSARGS_EXE) $(DOCKERPLUGIN_EXE) $(TEST_TLS_EXE): +$(SIGPROXY_EXE) $(DOCKERPLUGIN_EXE) $(TEST_TLS_EXE): go get -tags netgo ./$(@D) go build $(BUILD_FLAGS) -o $@ ./$(@D) @@ -106,7 +104,7 @@ $(WEAVER_UPTODATE): prog/weaver/Dockerfile $(WEAVER_EXE) $(SUDO) DOCKER_HOST=$(DOCKER_HOST) docker build -t $(WEAVER_IMAGE) prog/weaver touch $@ -$(WEAVEEXEC_UPTODATE): prog/weaveexec/Dockerfile prog/weaveexec/symlink $(DOCKER_DISTRIB) weave $(SIGPROXY_EXE) $(WEAVEPROXY_EXE) $(WEAVEWAIT_EXE) $(WEAVEWAIT_NOOP_EXE) $(WEAVEWAIT_NOMCAST_EXE) $(WEAVEUTIL_EXE) $(DOCKERTLSARGS_EXE) +$(WEAVEEXEC_UPTODATE): prog/weaveexec/Dockerfile prog/weaveexec/symlink $(DOCKER_DISTRIB) weave $(SIGPROXY_EXE) $(WEAVEPROXY_EXE) $(WEAVEWAIT_EXE) $(WEAVEWAIT_NOOP_EXE) $(WEAVEWAIT_NOMCAST_EXE) $(WEAVEUTIL_EXE) cp weave prog/weaveexec/weave cp $(SIGPROXY_EXE) prog/weaveexec/sigproxy cp $(WEAVEPROXY_EXE) prog/weaveexec/weaveproxy @@ -114,7 +112,6 @@ $(WEAVEEXEC_UPTODATE): prog/weaveexec/Dockerfile prog/weaveexec/symlink $(DOCKER cp $(WEAVEWAIT_NOOP_EXE) prog/weaveexec/weavewait_noop cp $(WEAVEWAIT_NOMCAST_EXE) prog/weaveexec/weavewait_nomcast cp $(WEAVEUTIL_EXE) prog/weaveexec/weaveutil - cp $(DOCKERTLSARGS_EXE) prog/weaveexec/docker_tls_args cp $(DOCKER_DISTRIB) prog/weaveexec/docker.tgz $(SUDO) DOCKER_HOST=$(DOCKER_HOST) docker build -t $(WEAVEEXEC_IMAGE) prog/weaveexec touch $@ diff --git a/prog/weaveexec/Dockerfile b/prog/weaveexec/Dockerfile index 353018f2..1e916e4c 100644 --- a/prog/weaveexec/Dockerfile +++ b/prog/weaveexec/Dockerfile @@ -20,7 +20,7 @@ RUN apk add --update \ && rm -rf /var/cache/apk/* ADD ./weave ./sigproxy ./weaveproxy ./symlink /home/weave/ -ADD ./weaveutil ./docker_tls_args /usr/bin/ +ADD ./weaveutil /usr/bin/ ADD ./weavewait /w/w ADD ./weavewait_noop /w-noop/w ADD ./weavewait_nomcast /w-nomcast/w diff --git a/prog/docker_tls_args/main.go b/prog/weaveutil/docker_tls_args.go similarity index 88% rename from prog/docker_tls_args/main.go rename to prog/weaveutil/docker_tls_args.go index 37c747a5..a61ab8ce 100644 --- a/prog/docker_tls_args/main.go +++ b/prog/weaveutil/docker_tls_args.go @@ -13,14 +13,18 @@ import ( "strings" ) -func main() { +func dockerTLSArgs(args []string) error { + if len(args) > 0 { + cmdUsage("docker-tls-args", "") + } procRoot := os.Getenv("PROCFS") if procRoot == "" { procRoot = "/proc" } - dirEntries, err := ioutil.ReadDir(procRoot) - checkErr(err) + if err != nil { + return err + } for _, dirEntry := range dirEntries { dirName := dirEntry.Name() @@ -63,15 +67,8 @@ func main() { } fmt.Println(strings.Join(tlsArgs, " ")) - os.Exit(0) + return nil } - os.Exit(1) -} - -func checkErr(err error) { - if err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(1) - } + return fmt.Errorf("cannot locate running docker daemon") } diff --git a/prog/weaveutil/main.go b/prog/weaveutil/main.go index 0fe4b4d1..2d1aed8c 100644 --- a/prog/weaveutil/main.go +++ b/prog/weaveutil/main.go @@ -10,8 +10,9 @@ var commands map[string]func([]string) error func init() { commands = map[string]func([]string) error{ - "help": help, - "netcheck": netcheck, + "help": help, + "netcheck": netcheck, + "docker-tls-args": dockerTLSArgs, } } diff --git a/weave b/weave index ffe8571b..7dda1a26 100755 --- a/weave +++ b/weave @@ -1434,8 +1434,8 @@ proxy_args() { PROXY_HOST="" proxy_parse_args "$@" - if [ -z "$PROXY_TLS_ENABLED" -a -z "$PROXY_TLS_DETECTION_DISABLED" ] && command_exists docker_tls_args ; then - if ! DOCKER_TLS_ARGS=$(docker_tls_args) ; then + if [ -z "$PROXY_TLS_ENABLED" -a -z "$PROXY_TLS_DETECTION_DISABLED" ] && command_exists weaveutil ; then + if ! DOCKER_TLS_ARGS=$(weaveutil docker-tls-args) ; then echo "Unable to auto-detect proxy TLS configuration; you must launch the proxy with" >&2 echo "'weave launch-proxy' and supply '--no-detect-tls' or TLS options." >&2 exit 1