diff --git a/docker-compose-init.bash b/docker-compose-init.bash index cf7bbcd..7d2de17 100755 --- a/docker-compose-init.bash +++ b/docker-compose-init.bash @@ -1,4 +1,18 @@ #!/bin/bash + +function die +{ + printf "Fatal error: $1" >&2 + exit +} + +function cp_w_mkdir +{ + local src="$1" dst="$2" + local d=$(dirname $2) + (mkdir -p $d && cp "$src" "$dst" ) || die "Error copying from $src to $dst" +} + . constants printf "$BRIGHT" @@ -9,9 +23,51 @@ printf "$NORMAL" sleep 1 -docker-compose up -d -./bin/docker-mysql-post.bash && ./bin/docker-orchestrator-post.bash && ./bin/docker-restart-binlog_reader.bash && ./bin/docker-proxy-post.bash +if [ -z "$PROXYSQL_BIN" ] && [ -x "../proxysql/src/proxysql" ] +then + PROXYSQL_BIN="../proxysql/src/proxysql" +fi + +PROXYSQL_DOCKER_BASE="./conf/proxysql" +DOCKER_PROXYSQL="$PROXYSQL_DOCKER_BASE/usr/bin/proxysql" +PROXYSQL_DOCKERBUILD_EXTRA= +PROXYSQL_DOCKERFILE="$PROXYSQL_DOCKER_BASE/Dockerfile" +REBUILD_DOCKER=${REBUILD_DOCKER:-0} +PROXYSQL_BASE_IMAGE="renecannao/proxysql_205_pltx19:debian9" + +if [ "$REBUILD_DOCKER" = "1" ] +then + rm -f $PROXYSQL_DOCKERFILE +fi + +if [ ! -f "$PROXYSQL_DOCKERFILE" ] +then + if [ -x "$PROXYSQL_BIN" ] + then + cp_w_mkdir $PROXYSQL_BIN $DOCKER_PROXYSQL + PROXYSQL_BASE_IMAGE="spachev/proxysql-debian-stretch" + PROXYSQL_DOCKERBUILD_EXTRA=$(cat <<'eot' +COPY / / +eot +) + printf "Found proxysql local binary in $PROXYSQL_BIN, putting it in Docker\n" + fi + + cat >$PROXYSQL_DOCKERFILE <