mirror of
https://github.com/logos-storage/codex-factory.git
synced 2026-01-03 21:43:08 +00:00
feat: configurable hostname to which blockchain and bee nodes are bound (#53)
* feat: configurable hostname to which blockchan and bee nodes are bound * chore: enable debug for script * fix: revert awk * chore: debug more * Revert "chore: enable debug for script" This reverts commit c86a2ce359003b8aea1581011d82002e18152ccc. * Revert "chore: debug more" This reverts commit 516f389a1fceb4ca9831c1f07e7a53e897b34b3d. Co-authored-by: Ivan Vandot <ivan@vandot.rs>
This commit is contained in:
parent
1686f8999c
commit
8151b5597e
@ -21,6 +21,7 @@ PARAMETERS:
|
|||||||
--own-image If passed, the used Docker image names will be identical as the name of the workers.
|
--own-image If passed, the used Docker image names will be identical as the name of the workers.
|
||||||
--version=x.y.z used version of Bee client.
|
--version=x.y.z used version of Bee client.
|
||||||
--detach It will not log the output of Queen node at the end of the process.
|
--detach It will not log the output of Queen node at the end of the process.
|
||||||
|
--hostname=string Interface to which should the nodes be bound (default 127.0.0.0).
|
||||||
USAGE
|
USAGE
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
@ -55,7 +56,7 @@ fetch_queen_underlay_addr() {
|
|||||||
# Wait 2 mins for queen start
|
# Wait 2 mins for queen start
|
||||||
TIMEOUT=$((2*12*WAITING_TIME))
|
TIMEOUT=$((2*12*WAITING_TIME))
|
||||||
while (( TIMEOUT > ELAPSED_TIME )) ; do
|
while (( TIMEOUT > ELAPSED_TIME )) ; do
|
||||||
QUEEN_UNDERLAY_ADDRESS=$(curl -s localhost:1635/addresses | python -mjson.tool | grep "/ip4/" | awk '!/127.0.0.1/' | sed 's/,$//' | xargs)
|
QUEEN_UNDERLAY_ADDRESS=$(curl -s "$HOSTNAME:1635/addresses" | python -mjson.tool | grep "/ip4/" | awk "!/127.0.0.1/" | sed 's/,$//' | xargs)
|
||||||
if [[ -z "$QUEEN_UNDERLAY_ADDRESS" ]] ; then
|
if [[ -z "$QUEEN_UNDERLAY_ADDRESS" ]] ; then
|
||||||
echo "Waiting for the Queen initialization..."
|
echo "Waiting for the Queen initialization..."
|
||||||
ELAPSED_TIME=$((ELAPSED_TIME+WAITING_TIME))
|
ELAPSED_TIME=$((ELAPSED_TIME+WAITING_TIME))
|
||||||
@ -65,7 +66,7 @@ fetch_queen_underlay_addr() {
|
|||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if (( TIMEOUT == ELAPSED_TIME )) ; then
|
if (( TIMEOUT == ELAPSED_TIME )) ; then
|
||||||
queen_failure
|
queen_failure
|
||||||
fi
|
fi
|
||||||
@ -77,8 +78,8 @@ log_queen() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
count_connected_peers() {
|
count_connected_peers() {
|
||||||
COUNT=$( (curl -s http://localhost:1635/peers | python -c 'import json,sys; obj=json.load(sys.stdin); print (len(obj["peers"]));') || echo 0 )
|
COUNT=$( (curl -s "http://$HOSTNAME:1635/peers" | python -c 'import json,sys; obj=json.load(sys.stdin); print (len(obj["peers"]));') || echo 0 )
|
||||||
|
|
||||||
echo "$COUNT"
|
echo "$COUNT"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,6 +109,7 @@ SWAP_FACTORY_ADDRESS="0x5b1869D9A4C187F2EAa108f3062412ecf0526b24"
|
|||||||
POSTAGE_STAMP_ADDRESS="0xCfEB869F69431e42cdB54A4F4f105C19C080A601"
|
POSTAGE_STAMP_ADDRESS="0xCfEB869F69431e42cdB54A4F4f105C19C080A601"
|
||||||
PRICE_ORACLE_ADDRESS="0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B"
|
PRICE_ORACLE_ADDRESS="0x254dffcd3277C0b1660F6d42EFbB754edaBAbC2B"
|
||||||
INIT_ROOT_DATA_DIR="$MY_PATH/bee-data-dirs"
|
INIT_ROOT_DATA_DIR="$MY_PATH/bee-data-dirs"
|
||||||
|
HOSTNAME="127.0.0.1"
|
||||||
|
|
||||||
# Decide script action
|
# Decide script action
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -155,6 +157,10 @@ do
|
|||||||
LOG=false
|
LOG=false
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
|
--hostname=*)
|
||||||
|
HOSTNAME="${1#*=}"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
--help)
|
--help)
|
||||||
usage
|
usage
|
||||||
;;
|
;;
|
||||||
@ -180,7 +186,7 @@ if [ -z "$QUEEN_CONTAINER_IN_DOCKER" ] || $EPHEMERAL ; then
|
|||||||
EXTRA_QUEEN_PARAMS="-v $INIT_ROOT_DATA_DIR/$QUEEN_CONTAINER_NAME:/home/bee/.bee"
|
EXTRA_QUEEN_PARAMS="-v $INIT_ROOT_DATA_DIR/$QUEEN_CONTAINER_NAME:/home/bee/.bee"
|
||||||
fi
|
fi
|
||||||
if [ "$PORT_MAPS" -ge 1 ] ; then
|
if [ "$PORT_MAPS" -ge 1 ] ; then
|
||||||
EXTRA_QUEEN_PARAMS="$EXTRA_QUEEN_PARAMS -p 127.0.0.1:1633-1635:1633-1635"
|
EXTRA_QUEEN_PARAMS="$EXTRA_QUEEN_PARAMS -p $HOSTNAME:1633-1635:1633-1635"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "start Bee Queen process"
|
echo "start Bee Queen process"
|
||||||
@ -229,7 +235,7 @@ for i in $(seq 1 1 "$WORKERS"); do
|
|||||||
if [ $PORT_MAPS -gt $i ] ; then
|
if [ $PORT_MAPS -gt $i ] ; then
|
||||||
PORT_START=$((1633+(10000*i)))
|
PORT_START=$((1633+(10000*i)))
|
||||||
PORT_END=$((PORT_START + 2))
|
PORT_END=$((PORT_START + 2))
|
||||||
EXTRA_WORKER_PARAMS="$EXTRA_WORKER_PARAMS -p 127.0.0.1:$PORT_START-$PORT_END:1633-1635"
|
EXTRA_WORKER_PARAMS="$EXTRA_WORKER_PARAMS -p $HOSTNAME:$PORT_START-$PORT_END:1633-1635"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# run docker container
|
# run docker container
|
||||||
|
|||||||
@ -15,6 +15,7 @@ PARAMETERS:
|
|||||||
2. 11633:11635
|
2. 11633:11635
|
||||||
3. 21633:21635 (...)
|
3. 21633:21635 (...)
|
||||||
number represents the nodes number to map from. Default is 2.
|
number represents the nodes number to map from. Default is 2.
|
||||||
|
--hostname=string Interface to which should the nodes be bound (default 127.0.0.0).
|
||||||
USAGE
|
USAGE
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
@ -44,6 +45,7 @@ LOG=true
|
|||||||
SWARM_BLOCKCHAIN_NAME="$BEE_ENV_PREFIX-blockchain"
|
SWARM_BLOCKCHAIN_NAME="$BEE_ENV_PREFIX-blockchain"
|
||||||
SWARM_NETWORK="$BEE_ENV_PREFIX-network"
|
SWARM_NETWORK="$BEE_ENV_PREFIX-network"
|
||||||
PORT_MAPS=2
|
PORT_MAPS=2
|
||||||
|
HOSTNAME="127.0.0.1"
|
||||||
|
|
||||||
# Decide script action
|
# Decide script action
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -80,6 +82,10 @@ do
|
|||||||
LOG=false
|
LOG=false
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
|
--hostname=*)
|
||||||
|
HOSTNAME="${1#*=}"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
--help)
|
--help)
|
||||||
usage
|
usage
|
||||||
;;
|
;;
|
||||||
@ -97,7 +103,7 @@ echo "Create Docker network..."
|
|||||||
echo "Start Blockchain node..."
|
echo "Start Blockchain node..."
|
||||||
BLOCKCHAIN_CONTAINER=$(docker container ls -qaf name=$SWARM_BLOCKCHAIN_NAME)
|
BLOCKCHAIN_CONTAINER=$(docker container ls -qaf name=$SWARM_BLOCKCHAIN_NAME)
|
||||||
if [ -z "$BLOCKCHAIN_CONTAINER" ] ; then
|
if [ -z "$BLOCKCHAIN_CONTAINER" ] ; then
|
||||||
BLOCKCHAIN_ARGUMENTS="--name $SWARM_BLOCKCHAIN_NAME --network $SWARM_NETWORK -p 127.0.0.1:9545:9545 -d"
|
BLOCKCHAIN_ARGUMENTS="--name $SWARM_BLOCKCHAIN_NAME --network $SWARM_NETWORK -p $HOSTNAME:9545:9545 -d"
|
||||||
if $EPHEMERAL ; then
|
if $EPHEMERAL ; then
|
||||||
BLOCKCHAIN_ARGUMENTS="$BLOCKCHAIN_ARGUMENTS --rm"
|
BLOCKCHAIN_ARGUMENTS="$BLOCKCHAIN_ARGUMENTS --rm"
|
||||||
fi
|
fi
|
||||||
@ -110,7 +116,7 @@ fi
|
|||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
# Build up bee.sh parameters
|
# Build up bee.sh parameters
|
||||||
BEE_SH_ARGUMENTS="--workers=$WORKERS --own-image --port-maps=$PORT_MAPS"
|
BEE_SH_ARGUMENTS="--workers=$WORKERS --own-image --port-maps=$PORT_MAPS --hostname=$HOSTNAME"
|
||||||
if $EPHEMERAL ; then
|
if $EPHEMERAL ; then
|
||||||
BEE_SH_ARGUMENTS="$BEE_SH_ARGUMENTS --ephemeral"
|
BEE_SH_ARGUMENTS="$BEE_SH_ARGUMENTS --ephemeral"
|
||||||
fi
|
fi
|
||||||
@ -122,7 +128,7 @@ fi
|
|||||||
echo "Start Bee nodes..."
|
echo "Start Bee nodes..."
|
||||||
"$MY_PATH/bee.sh" start $BEE_SH_ARGUMENTS
|
"$MY_PATH/bee.sh" start $BEE_SH_ARGUMENTS
|
||||||
|
|
||||||
# If the code run reach this point without detach flag,
|
# If the code run reach this point without detach flag,
|
||||||
# then the user interrupted the log process in the bee.sh
|
# then the user interrupted the log process in the bee.sh
|
||||||
if $LOG ; then
|
if $LOG ; then
|
||||||
docker stop $SWARM_BLOCKCHAIN_NAME
|
docker stop $SWARM_BLOCKCHAIN_NAME
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user