From abd26ad02cd83020a3da642d7ac1c902d12b09c4 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Thu, 11 May 2017 14:43:03 -0400 Subject: [PATCH 1/6] Add Docker build files Support building trillian clusters by defining docker build files. They should be run like so: `docker build -f server/trillian_log_server/Dockerfile .` from `$GOPATH/src/github.com/google/trillian` --- server/trillian_log_server/Dockerfile | 29 +++++++++++++++++++++ server/trillian_log_signer/Dockerfile | 29 +++++++++++++++++++++ server/vmap/trillian_map_server/Dockerfile | 30 ++++++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 server/trillian_log_server/Dockerfile create mode 100644 server/trillian_log_signer/Dockerfile create mode 100644 server/vmap/trillian_map_server/Dockerfile diff --git a/server/trillian_log_server/Dockerfile b/server/trillian_log_server/Dockerfile new file mode 100644 index 0000000000..61078d946b --- /dev/null +++ b/server/trillian_log_server/Dockerfile @@ -0,0 +1,29 @@ +FROM golang + +ENV DB_USER=test \ + DB_PASSWORD=zaphod \ + DB_DATABASE=test \ + DB_HOST=127.0.0.0:3306 + +ENV HOST=0.0.0.0 \ + RPC_PORT=8090 \ + HTTP_PORT=8091 + +ENV DUMP_METRICS 0s + +ADD . /go/src/github.com/google/trillian +WORKDIR /go/src/github.com/google/trillian + +RUN go get -v ./server/trillian_log_server + +ENTRYPOINT /go/bin/trillian_log_server \ + --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ + --rpc_endpoint="$HOST:$RPC_PORT" \ + --http_endpoint="$HOST:$HTTP_PORT" \ + --dump_metrics_interval="$DUMP_METRICS" + +EXPOSE $RPC_PORT +EXPOSE $HTTP_PORT + +HEALTHCHECK --interval=5m --timeout=3s \ + CMD curl -f http://localhost:$HTTP_PORT/debug/vars || exit 1 diff --git a/server/trillian_log_signer/Dockerfile b/server/trillian_log_signer/Dockerfile new file mode 100644 index 0000000000..865f7f6d71 --- /dev/null +++ b/server/trillian_log_signer/Dockerfile @@ -0,0 +1,29 @@ +FROM golang + +ENV DB_USER=test \ + DB_PASSWORD=zaphod \ + DB_DATABASE=test \ + DB_HOST=127.0.0.0:3306 + +ENV HOST=0.0.0.0 \ + HTTP_PORT=8091 + +ENV SEQUENCER_GUARD_WINDOW=0s \ + DUMP_METRICS=0s + +ADD . /go/src/github.com/google/trillian +WORKDIR /go/src/github.com/google/trillian + +RUN go get -v ./server/trillian_log_signer + +# Run the outyet command by default when the container starts. +ENTRYPOINT /go/bin/trillian_log_signer \ + --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ + --http_endpoint="$HOST:$HTTP_PORT" \ + --dump_metrics_interval="$DUMP_METRICS" \ + --sequencer_guard_window="$SEQUENCER_GUARD_WINDOW" + +EXPOSE $HTTP_PORT + +HEALTHCHECK --interval=5m --timeout=3s \ + CMD curl -f http://localhost:$HTTP_PORT/debug/vars || exit 1 diff --git a/server/vmap/trillian_map_server/Dockerfile b/server/vmap/trillian_map_server/Dockerfile new file mode 100644 index 0000000000..059ef9339c --- /dev/null +++ b/server/vmap/trillian_map_server/Dockerfile @@ -0,0 +1,30 @@ +FROM golang + +ENV DB_USER=test \ + DB_PASSWORD=zaphod \ + DB_DATABASE=test \ + DB_HOST=127.0.0.0:3306 + +ENV HOST=0.0.0.0 \ + RPC_PORT=8090 \ + HTTP_PORT=8091 + +ENV SEQUENCER_GUARD_WINDOW=0s \ + DUMP_METRICS=0s + +ADD . /go/src/github.com/google/trillian +WORKDIR /go/src/github.com/google/trillian + +RUN go get -v ./server/vmap/trillian_map_server + +# Run the outyet command by default when the container starts. +ENTRYPOINT /go/bin/trillian_map_server \ + --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ + --rpc_endpoint="$HOST:$RPC_PORT" \ + --http_endpoint="$HOST:$HTTP_PORT" + +EXPOSE $HTTP_PORT + +HEALTHCHECK --interval=5m --timeout=3s \ + CMD curl -f http://localhost:$HTTP_PORT/debug/vars || exit 1 + From 25eb76d80924e91a3bdff705e973a083857a8e38 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Fri, 12 May 2017 18:12:47 -0400 Subject: [PATCH 2/6] Force master on log signer --- server/trillian_log_signer/Dockerfile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/trillian_log_signer/Dockerfile b/server/trillian_log_signer/Dockerfile index 865f7f6d71..b2c0d06373 100644 --- a/server/trillian_log_signer/Dockerfile +++ b/server/trillian_log_signer/Dockerfile @@ -9,7 +9,9 @@ ENV HOST=0.0.0.0 \ HTTP_PORT=8091 ENV SEQUENCER_GUARD_WINDOW=0s \ - DUMP_METRICS=0s + DUMP_METRICS=0s \ + FORCE_MASTER=true + ADD . /go/src/github.com/google/trillian WORKDIR /go/src/github.com/google/trillian @@ -21,7 +23,8 @@ ENTRYPOINT /go/bin/trillian_log_signer \ --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ --http_endpoint="$HOST:$HTTP_PORT" \ --dump_metrics_interval="$DUMP_METRICS" \ - --sequencer_guard_window="$SEQUENCER_GUARD_WINDOW" + --sequencer_guard_window="$SEQUENCER_GUARD_WINDOW" \ + --force_master="$FORCE_MASTER" EXPOSE $HTTP_PORT From 6a4fd4f800e28c9b63916486bdd19befc349e4fb Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 16 May 2017 12:59:00 -0400 Subject: [PATCH 3/6] logtodstderr --- server/vmap/trillian_map_server/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/vmap/trillian_map_server/Dockerfile b/server/vmap/trillian_map_server/Dockerfile index 059ef9339c..9cf9626911 100644 --- a/server/vmap/trillian_map_server/Dockerfile +++ b/server/vmap/trillian_map_server/Dockerfile @@ -21,7 +21,8 @@ RUN go get -v ./server/vmap/trillian_map_server ENTRYPOINT /go/bin/trillian_map_server \ --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ --rpc_endpoint="$HOST:$RPC_PORT" \ - --http_endpoint="$HOST:$HTTP_PORT" + --http_endpoint="$HOST:$HTTP_PORT" \ + --alsologtostderr \ EXPOSE $HTTP_PORT From 44d4ba4f0236fb647da65596b45a77d5c75b90d1 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Wed, 17 May 2017 15:52:33 -0400 Subject: [PATCH 4/6] Local builds --- server/trillian_log_server/Dockerfile | 5 +++-- server/vmap/trillian_map_server/Dockerfile | 7 ++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/server/trillian_log_server/Dockerfile b/server/trillian_log_server/Dockerfile index 61078d946b..b97bf51373 100644 --- a/server/trillian_log_server/Dockerfile +++ b/server/trillian_log_server/Dockerfile @@ -11,7 +11,7 @@ ENV HOST=0.0.0.0 \ ENV DUMP_METRICS 0s -ADD . /go/src/github.com/google/trillian +ADD . /go/src/github.com/google/trillian WORKDIR /go/src/github.com/google/trillian RUN go get -v ./server/trillian_log_server @@ -20,7 +20,8 @@ ENTRYPOINT /go/bin/trillian_log_server \ --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ --rpc_endpoint="$HOST:$RPC_PORT" \ --http_endpoint="$HOST:$HTTP_PORT" \ - --dump_metrics_interval="$DUMP_METRICS" + --dump_metrics_interval="$DUMP_METRICS" \ + --alsologtostderr EXPOSE $RPC_PORT EXPOSE $HTTP_PORT diff --git a/server/vmap/trillian_map_server/Dockerfile b/server/vmap/trillian_map_server/Dockerfile index 9cf9626911..229dc60869 100644 --- a/server/vmap/trillian_map_server/Dockerfile +++ b/server/vmap/trillian_map_server/Dockerfile @@ -9,20 +9,17 @@ ENV HOST=0.0.0.0 \ RPC_PORT=8090 \ HTTP_PORT=8091 -ENV SEQUENCER_GUARD_WINDOW=0s \ - DUMP_METRICS=0s - ADD . /go/src/github.com/google/trillian WORKDIR /go/src/github.com/google/trillian -RUN go get -v ./server/vmap/trillian_map_server +RUN go get ./server/vmap/trillian_map_server # Run the outyet command by default when the container starts. ENTRYPOINT /go/bin/trillian_map_server \ --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ --rpc_endpoint="$HOST:$RPC_PORT" \ --http_endpoint="$HOST:$HTTP_PORT" \ - --alsologtostderr \ + --alsologtostderr EXPOSE $HTTP_PORT From 8055cceccd2aa002c52955f4ed88aa8df02a1f07 Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Fri, 19 May 2017 17:07:41 -0400 Subject: [PATCH 5/6] Add mysql dockerfile --- Dockerfile.db | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 Dockerfile.db diff --git a/Dockerfile.db b/Dockerfile.db new file mode 100644 index 0000000000..99b572bdbc --- /dev/null +++ b/Dockerfile.db @@ -0,0 +1,8 @@ +FROM mysql + +ENV MYSQL_PASSWORD=zaphod \ + MYSQL_USER=test \ + MYSQL_DATABASE=test \ + MYSQL_RANDOM_ROOT_PASSWORD=yes + +ADD storage/mysql/storage.sql /docker-entrypoint-initdb.d/storage.sql From aeac74365ec58b8eb74e4b244047623a3a57e4ac Mon Sep 17 00:00:00 2001 From: Gary Belvin Date: Tue, 23 May 2017 10:11:52 -0400 Subject: [PATCH 6/6] Reviewer comments --- server/trillian_log_signer/Dockerfile | 5 +++-- server/vmap/trillian_map_server/Dockerfile | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/trillian_log_signer/Dockerfile b/server/trillian_log_signer/Dockerfile index b2c0d06373..fc2f45d633 100644 --- a/server/trillian_log_signer/Dockerfile +++ b/server/trillian_log_signer/Dockerfile @@ -16,7 +16,7 @@ ENV SEQUENCER_GUARD_WINDOW=0s \ ADD . /go/src/github.com/google/trillian WORKDIR /go/src/github.com/google/trillian -RUN go get -v ./server/trillian_log_signer +RUN go get ./server/trillian_log_signer # Run the outyet command by default when the container starts. ENTRYPOINT /go/bin/trillian_log_signer \ @@ -24,7 +24,8 @@ ENTRYPOINT /go/bin/trillian_log_signer \ --http_endpoint="$HOST:$HTTP_PORT" \ --dump_metrics_interval="$DUMP_METRICS" \ --sequencer_guard_window="$SEQUENCER_GUARD_WINDOW" \ - --force_master="$FORCE_MASTER" + --force_master="$FORCE_MASTER" \ + --alsologtostderr EXPOSE $HTTP_PORT diff --git a/server/vmap/trillian_map_server/Dockerfile b/server/vmap/trillian_map_server/Dockerfile index 229dc60869..b446c0e212 100644 --- a/server/vmap/trillian_map_server/Dockerfile +++ b/server/vmap/trillian_map_server/Dockerfile @@ -14,7 +14,6 @@ WORKDIR /go/src/github.com/google/trillian RUN go get ./server/vmap/trillian_map_server -# Run the outyet command by default when the container starts. ENTRYPOINT /go/bin/trillian_map_server \ --mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \ --rpc_endpoint="$HOST:$RPC_PORT" \