mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
284 lines
10 KiB
Makefile
284 lines
10 KiB
Makefile
TMP_DOCKERFILE:=$(shell mktemp)
|
|
GO_VERSION ?= 1.17.8
|
|
TMP_DIR_MOUNT_FLAG = --tmpfs=/tmp:exec
|
|
ifdef HOST_TMP_DIR
|
|
TMP_DIR_MOUNT_FLAG = --mount type=bind,source=$(HOST_TMP_DIR),destination=/tmp
|
|
endif
|
|
|
|
# Example:
|
|
# make build-docker-test
|
|
# make compile-with-docker-test
|
|
# make build-docker-static-ip-test
|
|
#
|
|
# gcloud auth configure-docker
|
|
# make push-docker-static-ip-test
|
|
#
|
|
# gsutil -m acl ch -u allUsers:R -r gs://artifacts.etcd-development.appspot.com
|
|
# make pull-docker-static-ip-test
|
|
#
|
|
# make docker-static-ip-test-certs-run
|
|
# make docker-static-ip-test-certs-metrics-proxy-run
|
|
|
|
build-docker-static-ip-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
@sed 's|REPLACE_ME_GO_VERSION|$(GO_VERSION)|g' ./docker-static-ip/Dockerfile > $(TMP_DOCKERFILE)
|
|
docker build \
|
|
--network=host \
|
|
--tag gcr.io/etcd-development/etcd-static-ip-test:go$(GO_VERSION) \
|
|
--file ./docker-static-ip/Dockerfile \
|
|
$(TMP_DOCKERFILE)
|
|
|
|
push-docker-static-ip-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
docker push gcr.io/etcd-development/etcd-static-ip-test:go$(GO_VERSION)
|
|
|
|
pull-docker-static-ip-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
docker pull gcr.io/etcd-development/etcd-static-ip-test:go$(GO_VERSION)
|
|
|
|
docker-static-ip-test-certs-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-static-ip/certs,destination=/certs \
|
|
gcr.io/etcd-development/etcd-static-ip-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-static-ip-test-certs-metrics-proxy-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-static-ip/certs-metrics-proxy,destination=/certs-metrics-proxy \
|
|
gcr.io/etcd-development/etcd-static-ip-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-metrics-proxy/run.sh && rm -rf m*.etcd"
|
|
|
|
|
|
|
|
# Example:
|
|
# make build-docker-test
|
|
# make compile-with-docker-test
|
|
# make build-docker-dns-test
|
|
#
|
|
# gcloud auth configure-docker
|
|
# make push-docker-dns-test
|
|
#
|
|
# gsutil -m acl ch -u allUsers:R -r gs://artifacts.etcd-development.appspot.com
|
|
# make pull-docker-dns-test
|
|
#
|
|
# make docker-dns-test-insecure-run
|
|
# make docker-dns-test-certs-run
|
|
# make docker-dns-test-certs-gateway-run
|
|
# make docker-dns-test-certs-wildcard-run
|
|
# make docker-dns-test-certs-common-name-auth-run
|
|
# make docker-dns-test-certs-common-name-multi-run
|
|
# make docker-dns-test-certs-san-dns-run
|
|
|
|
build-docker-dns-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
@sed 's|REPLACE_ME_GO_VERSION|$(GO_VERSION)|g' ./docker-dns/Dockerfile > $(TMP_DOCKERFILE)
|
|
docker build \
|
|
--network=host \
|
|
--tag gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
--file ./docker-dns/Dockerfile \
|
|
$(TMP_DOCKERFILE)
|
|
|
|
docker run \
|
|
--rm \
|
|
--dns 127.0.0.1 \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "/etc/init.d/bind9 start && cat /dev/null >/etc/hosts && dig etcd.local"
|
|
|
|
push-docker-dns-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
docker push gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION)
|
|
|
|
pull-docker-dns-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
docker pull gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION)
|
|
|
|
docker-dns-test-insecure-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns/insecure,destination=/insecure \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /insecure/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-test-certs-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns/certs,destination=/certs \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-test-certs-gateway-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns/certs-gateway,destination=/certs-gateway \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-gateway/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-test-certs-wildcard-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns/certs-wildcard,destination=/certs-wildcard \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-wildcard/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-test-certs-common-name-auth-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns/certs-common-name-auth,destination=/certs-common-name-auth \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-common-name-auth/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-test-certs-common-name-multi-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns/certs-common-name-multi,destination=/certs-common-name-multi \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-common-name-multi/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-test-certs-san-dns-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns/certs-san-dns,destination=/certs-san-dns \
|
|
gcr.io/etcd-development/etcd-dns-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-san-dns/run.sh && rm -rf m*.etcd"
|
|
|
|
|
|
# Example:
|
|
# make build-docker-test
|
|
# make compile-with-docker-test
|
|
# make build-docker-dns-srv-test
|
|
# gcloud auth configure-docker
|
|
# make push-docker-dns-srv-test
|
|
# gsutil -m acl ch -u allUsers:R -r gs://artifacts.etcd-development.appspot.com
|
|
# make pull-docker-dns-srv-test
|
|
# make docker-dns-srv-test-certs-run
|
|
# make docker-dns-srv-test-certs-gateway-run
|
|
# make docker-dns-srv-test-certs-wildcard-run
|
|
|
|
build-docker-dns-srv-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
@sed 's|REPLACE_ME_GO_VERSION|$(GO_VERSION)|g' > $(TMP_DOCKERFILE)
|
|
docker build \
|
|
--network=host \
|
|
--tag gcr.io/etcd-development/etcd-dns-srv-test:go$(GO_VERSION) \
|
|
--file ./docker-dns-srv/Dockerfile \
|
|
$(TMP_DOCKERFILE)
|
|
|
|
docker run \
|
|
--rm \
|
|
--dns 127.0.0.1 \
|
|
gcr.io/etcd-development/etcd-dns-srv-test:go$(GO_VERSION) \
|
|
/bin/bash -c "/etc/init.d/bind9 start && cat /dev/null >/etc/hosts && dig +noall +answer SRV _etcd-client-ssl._tcp.etcd.local && dig +noall +answer SRV _etcd-server-ssl._tcp.etcd.local && dig +noall +answer m1.etcd.local m2.etcd.local m3.etcd.local"
|
|
|
|
push-docker-dns-srv-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
docker push gcr.io/etcd-development/etcd-dns-srv-test:go$(GO_VERSION)
|
|
|
|
pull-docker-dns-srv-test:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
docker pull gcr.io/etcd-development/etcd-dns-srv-test:go$(GO_VERSION)
|
|
|
|
docker-dns-srv-test-certs-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns-srv/certs,destination=/certs \
|
|
gcr.io/etcd-development/etcd-dns-srv-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-srv-test-certs-gateway-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns-srv/certs-gateway,destination=/certs-gateway \
|
|
gcr.io/etcd-development/etcd-dns-srv-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-gateway/run.sh && rm -rf m*.etcd"
|
|
|
|
docker-dns-srv-test-certs-wildcard-run:
|
|
$(info GO_VERSION: $(GO_VERSION))
|
|
$(info HOST_TMP_DIR: $(HOST_TMP_DIR))
|
|
$(info TMP_DIR_MOUNT_FLAG: $(TMP_DIR_MOUNT_FLAG))
|
|
docker run \
|
|
--rm \
|
|
--tty \
|
|
--dns 127.0.0.1 \
|
|
$(TMP_DIR_MOUNT_FLAG) \
|
|
--mount type=bind,source=`pwd`/bin,destination=/etcd \
|
|
--mount type=bind,source=`pwd`/tests/docker-dns-srv/certs-wildcard,destination=/certs-wildcard \
|
|
gcr.io/etcd-development/etcd-dns-srv-test:go$(GO_VERSION) \
|
|
/bin/bash -c "cd /etcd && /certs-wildcard/run.sh && rm -rf m*.etcd"
|