Skip to content

Commit ac45391

Browse files
committed
Dockerize core components
1 parent 47d3b81 commit ac45391

File tree

5 files changed

+75
-11
lines changed

5 files changed

+75
-11
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,10 @@ You can then set up the [expected tables](storage/mysql/storage.sql) in a
9595

9696
```bash
9797
./scripts/resetdb.sh
98-
Completely wipe and reset database 'test'.
98+
Warning: about to destroy and reset database 'test'
9999
Are you sure? y
100+
> Resetting DB...
101+
> Reset Complete
100102
```
101103

102104
### Integration Tests

scripts/resetdb.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ set -e
44

55
usage() {
66
echo "$0 [--force] [--verbose] ..."
7-
echo "accepts envars:"
7+
echo "accepts environment variables:"
88
echo " - DB_NAME"
99
echo " - DB_USER"
1010
echo " - DB_PASSWORD"
1111
}
1212

1313
collect_vars() {
14-
# set unset envars to defaults
14+
# set unset environment variables to defaults
1515
[ -z ${DB_USER+x} ] && DB_USER="root"
1616
[ -z ${DB_NAME+x} ] && DB_NAME="test"
17-
# format reused supplied envas
17+
# format reused supplied environment variables
1818
FLAGS=""
1919
[ -z ${DB_PASSWORD+x} ] || FLAGS="${FLAGS} -p$DB_PASSWORD"
2020

@@ -38,19 +38,19 @@ main() {
3838
if [[ ${VERBOSE} = 'true' ]]
3939
then
4040
echo "-- using DB_USER: ${DB_USER}"
41-
echo "-- Warning: about to destroy and reset database '${DB_NAME}'."
4241
fi
42+
echo "Warning: about to destroy and reset database '${DB_NAME}'"
4343

4444
[[ ${FORCE} = true ]] || read -p "Are you sure? " -n 1 -r
4545

4646
if [ -z ${REPLY+x} ] || [[ $REPLY =~ ^[Yy]$ ]]
4747
then
4848
# A command line supplied -u will override the first argument.
4949
echo "Resetting DB..."
50-
mysql -u $DB_USER $FLAGS -e "DROP DATABASE IF EXISTS ${DB_NAME};"
51-
mysql -u $DB_USER $FLAGS -e "CREATE DATABASE ${DB_NAME};"
52-
mysql -u $DB_USER $FLAGS -e "GRANT ALL ON ${DB_NAME}.* TO '${DB_NAME}'@'localhost' IDENTIFIED BY 'zaphod';"
53-
mysql -u $DB_USER $FLAGS -D ${DB_NAME} < ${GOPATH}/src/github.com/google/trillian/storage/mysql/storage.sql
50+
mysql $FLAGS -u $DB_USER -e "DROP DATABASE IF EXISTS ${DB_NAME};"
51+
mysql $FLAGS -u $DB_USER -e "CREATE DATABASE ${DB_NAME};"
52+
mysql $FLAGS -u $DB_USER -e "GRANT ALL ON ${DB_NAME}.* TO '${DB_NAME}'@'localhost' IDENTIFIED BY 'zaphod';"
53+
mysql $FLAGS -u $DB_USER -D ${DB_NAME} < ${GOPATH}/src/github.com/google/trillian/storage/mysql/storage.sql
5454
echo "Reset Complete"
5555
fi
5656
}

server/trillian_db_client/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM golang:1.8
22

3-
RUN apt-get update
4-
RUN apt-get install -y mysql-client
3+
RUN apt-get update && \
4+
apt-get install -y mysql-client
55

66
ADD . /go/src/github.com/google/trillian
77
WORKDIR /go/src/github.com/google/trillian
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM golang:1.8
2+
3+
ADD . /go/src/github.com/google/trillian
4+
WORKDIR /go/src/github.com/google/trillian
5+
6+
RUN go get -v ./server/trillian_log_server
7+
8+
ENV DB_USER=test \
9+
DB_PASSWORD=zaphod \
10+
DB_DATABASE=test \
11+
DB_HOST=127.0.0.0:3306
12+
13+
ENV RPC_HOST=localhost \
14+
RPC_PORT=8090 \
15+
HOST=0.0.0.0 \
16+
HTTP_PORT=8091
17+
18+
ENV DUMP_METRICS 0s
19+
20+
ENTRYPOINT /go/bin/trillian_log_server \
21+
--mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \
22+
--rpc_endpoint="$RPC_HOST:$RPC_PORT" \
23+
--http_endpoint="$HTTP_HOST:$HTTP_PORT" \
24+
--dump_metrics_interval="$DUMP_METRICS" \
25+
--logtostderr
26+
27+
EXPOSE $RPC_PORT
28+
EXPOSE $HTTP_PORT
29+
30+
HEALTHCHECK --interval=5m --timeout=3s \
31+
CMD curl -f http://localhost:$HTTP_PORT/debug/vars || exit 1
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM golang:1.8
2+
3+
ENV DB_USER=test \
4+
DB_PASSWORD=zaphod \
5+
DB_DATABASE=test \
6+
DB_HOST=127.0.0.0:3306
7+
8+
ENV HOST=0.0.0.0 \
9+
HTTP_PORT=8091
10+
11+
ENV SEQUENCER_GUARD_WINDOW=0s \
12+
DUMP_METRICS=0s \
13+
FORCE_MASTER=true
14+
15+
ADD . /go/src/github.com/google/trillian
16+
WORKDIR /go/src/github.com/google/trillian
17+
18+
RUN go get -v ./server/trillian_log_signer
19+
20+
# Run the outyet command by default when the container starts.
21+
ENTRYPOINT /go/bin/trillian_log_signer \
22+
--mysql_uri="${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST})/${DB_DATABASE}" \
23+
--http_endpoint="$HOST:$HTTP_PORT" \
24+
--dump_metrics_interval="$DUMP_METRICS" \
25+
--sequencer_guard_window="$SEQUENCER_GUARD_WINDOW" \
26+
--force_master="$FORCE_MASTER"
27+
28+
EXPOSE $HTTP_PORT
29+
30+
HEALTHCHECK --interval=5m --timeout=3s \
31+
CMD curl -f http://localhost:$HTTP_PORT/debug/vars || exit 1

0 commit comments

Comments
 (0)