summaryrefslogtreecommitdiff
path: root/hack/dockerfile/install/proxy.installer
blob: d26421446fcf75f31fe3c30724800b04f679441f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/sh

# LIBNETWORK_COMMIT is used to build the docker-userland-proxy binary. When
# updating the binary version, consider updating github.com/docker/libnetwork
# in vendor.conf accordingly
: ${LIBNETWORK_COMMIT:=026aabaa659832804b01754aaadd2c0f420c68b6} # bump_19.03 branch

install_proxy() {
	case "$1" in
		"dynamic")
			install_proxy_dynamic
			return
			;;
		"")
			export CGO_ENABLED=0
			_install_proxy
			;;
		*)
			echo 'Usage: $0 [dynamic]'
			;;
	esac
}

install_proxy_dynamic() {
	export PROXY_LDFLAGS="-linkmode=external" install_proxy
	export BUILD_MODE="-buildmode=pie"
	_install_proxy
}

_install_proxy() {
	echo "Install docker-proxy version $LIBNETWORK_COMMIT"
	git clone https://github.com/docker/libnetwork.git "$GOPATH/src/github.com/docker/libnetwork"
	cd "$GOPATH/src/github.com/docker/libnetwork"
	git checkout -q "$LIBNETWORK_COMMIT"
	go build ${BUILD_MODE} -ldflags="$PROXY_LDFLAGS" -o ${PREFIX}/docker-proxy github.com/docker/libnetwork/cmd/proxy
}