-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* rename set_env->set_default * fix bug with return from bash func * make '--miningaddr' optional
- Loading branch information
1 parent
5c6d196
commit be66e03
Showing
4 changed files
with
114 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,69 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Check env variable and in case of empty value and default value specified | ||
# returns default value, in case of non-empty value returns value. | ||
set_env() { | ||
# exit from script if error was raised. | ||
set -e | ||
|
||
# error function is used within a bash function in order to send the error | ||
# message directly to the stderr output and exit. | ||
error() { | ||
echo "$1" > /dev/stderr | ||
exit 0 | ||
} | ||
|
||
# return is used within bash function in order to return the value. | ||
return() { | ||
echo "$1" | ||
} | ||
|
||
# set_default function gives the ability to move the setting of default | ||
# env variable from docker file to the script thereby giving the ability to the | ||
# user override it durin container start. | ||
set_default() { | ||
# docker initialized env variables with blank string and we can't just | ||
# use -z flag as usually. | ||
BLANK_STRING='""' | ||
|
||
VARIABLE="$1" | ||
NAME="$2" | ||
DEFAULT="$3" | ||
DEFAULT="$2" | ||
|
||
if [[ -z "$VARIABLE" || "$VARIABLE" == "$BLANK_STRING" ]]; then | ||
|
||
if [ -z "$DEFAULT" ]; then | ||
echo "You should specify '$NAME' env variable" | ||
exit 0 | ||
error "You should specify default variable" | ||
else | ||
VARIABLE="$DEFAULT" | ||
fi | ||
fi | ||
|
||
# echo is used as return in case if string values | ||
echo "$VARIABLE" | ||
return "$VARIABLE" | ||
} | ||
|
||
RPCUSER=$(set_env "$RPCUSER" "RPCUSER") | ||
RPCPASS=$(set_env "$RPCPASS" "RPCPASS") | ||
|
||
DEBUG=$(set_env "$DEBUG" "DEBUG") | ||
|
||
MINING_ADDRESS=$(set_env "$MINING_ADDRESS" "MINING_ADDRESS" "ScoDuqH7kYA9nvxuRg4Xk7E31AhsSc5zxp") | ||
|
||
btcd \ | ||
--debuglevel="$DEBUG" \ | ||
--datadir="/data" \ | ||
--logdir="/data" \ | ||
--simnet \ | ||
--rpccert="/rpc/rpc.cert" \ | ||
--rpckey="/rpc/rpc.key" \ | ||
--rpcuser="$RPCUSER" \ | ||
--rpcpass="$RPCPASS" \ | ||
--miningaddr="$MINING_ADDRESS" \ | ||
--rpclisten="0.0.0.0" \ | ||
"$@" | ||
# Set default variables if needed. | ||
RPCUSER=$(set_default "$RPCUSER" "devuser") | ||
RPCPASS=$(set_default "$RPCPASS" "devpass") | ||
DEBUG=$(set_default "$DEBUG" "info") | ||
|
||
PARAMS=$(echo \ | ||
"--simnet" \ | ||
"--debuglevel=$DEBUG" \ | ||
"--rpcuser=$RPCUSER" \ | ||
"--rpcpass=$RPCPASS" \ | ||
"--datadir=/data" \ | ||
"--logdir=/data" \ | ||
"--rpccert=/rpc/rpc.cert" \ | ||
"--rpckey=/rpc/rpc.key" \ | ||
"--rpclisten=0.0.0.0" | ||
) | ||
|
||
# Set the mining flag only if address is non empty. | ||
if [[ -n "$MINING_ADDRESS" ]]; then | ||
PARAMS="$PARAMS --miningaddr=$MINING_ADDRESS" | ||
fi | ||
|
||
# Add user parameters to command. | ||
PARAMS="$PARAMS $@" | ||
|
||
# Print command and start bitcoin node. | ||
echo "Command: btcd $PARAMS" | ||
btcd $PARAMS | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters