From 9e8c041d8c5f1479edc24bf3d1e44ef074af52a3 Mon Sep 17 00:00:00 2001
From: Benjamin Bollen <ben@erisindustries.com>
Date: Thu, 14 Jul 2016 01:44:42 +0200
Subject: [PATCH] Dockerfile: reduce startup script to /bin/start_eris_db
 (forgotten to commit)

---
 bin/start_eris_db | 85 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 85 insertions(+)
 create mode 100644 bin/start_eris_db

diff --git a/bin/start_eris_db b/bin/start_eris_db
new file mode 100644
index 00000000..c14cf604
--- /dev/null
+++ b/bin/start_eris_db
@@ -0,0 +1,85 @@
+#! /bin/bash
+
+ifExit(){
+	if [[ $? != 0 ]]; then
+		echo "ifExit"
+		echo "$1"
+		for var in "$@"
+		do
+			    echo "$var"
+		done
+		exit 1
+	fi
+}
+
+if0Exit(){
+	if [[ $? == 0 ]]; then
+		echo "if0Exit"
+		echo "$1"
+		for var in "$@"
+		do
+			    echo "$var"
+		done
+		exit 1
+	fi
+}
+
+
+export -f ifExit
+export -f if0Exit
+
+#-----------------------------------------------------------------------
+# set and export directories
+
+if [ "$CHAIN_ID" = "" ]; then
+	echo "Eris-db container requires environment variable CHAIN_ID to be set. Please run docker container with \`-e CHAIN_ID=\"<chainId>\"\`"
+	exit 1
+fi
+
+if [ "$ERIS_DB_WORKDIR" = "" ]; then
+	ERIS_DB_WORKDIR="$ERIS/chains/$CHAIN_ID"
+fi
+
+if [ ! -d "$ERIS_DB_WORKDIR" ]; then
+	mkdir -p $ERIS_DB_WORKDIR
+	ifExit "Error making working directory $ERIS_DB_WORKDIR"
+fi
+
+# [TODO]: for transition from 0.11.4 to 0.12.1 map data directory to working directory
+export ERIS_DB_WORKDIR
+export ERIS_DB_DATADIR=$ERIS_DB_WORKDIR
+
+echo "env CHAIN_ID is set to $CHAIN_ID"
+echo "env ERIS_DB_WORKDIR is set to $ERIS_DB_WORKDIR"
+echo "env ERIS_DB_DATADIR is set to $ERIS_DB_DATADIR"
+
+#-----------------------------------------------------------------------
+# [2016-07-13 ben] we preserve the existing contact commands "new", "run",
+# but this functionality is absorbed in eris-db, eris-cm, eris-cli
+# and the is here to catch deployed use-cases.
+# NOTE: eris-db serve picks up following environment variables which are relevant to interaction with eris-cli
+#  - CHAIN_ID, set by eris-cli
+#  - ERIS_DB_WORKDIR, set in this script
+#  - ERIS_DB_DATADIR, set in this script
+#  - ERISDB_API (to be deprecated in favor of explicit --disable-rpc)
+#  - CONFIG_OPTS, for arbitrary flags to be passed to `eris-db serve`
+
+CMD=$1
+case $CMD in
+"install" ) 
+	echo "Install is under review to be deprecated; please contact support@erisindustries.com if you encounter this error."
+	exit 1
+	;;
+"new" ) eris-db serve $CONFIG_OPTS $@
+	;;
+"run" ) eris-db serve $CONFIG_OPTS $@
+	;;
+"register" ) 
+	echo "Register is under review to be deprecated; please contact support@erisindustries.com if you encounter this error."
+	exit 1
+	;;
+# we append $@ to eris-db to expose the same flags on the docker container,
+# eg `docker run -it quay.io/eris/erisdb --chain-id=<chain_id>`, will overwrite $CHAIN_ID
+*) eris-db serve $CONFIG_OPTS $@
+	;;
+esac
-- 
GitLab