2018-06-24 10:10:55 -07:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
2018-06-26 16:46:17 -07:00
|
|
|
# usage: $0 <rsync network path to solana repo on leader machine>
|
2018-06-24 10:10:55 -07:00
|
|
|
#
|
|
|
|
|
|
|
|
here=$(dirname "$0")
|
|
|
|
# shellcheck source=multinode-demo/common.sh
|
|
|
|
source "$here"/common.sh
|
|
|
|
SOLANA_CONFIG_DIR=config-drone
|
|
|
|
|
|
|
|
if [[ -d "$SNAP" ]]; then
|
|
|
|
# Exit if mode is not yet configured
|
|
|
|
# (typically the case after the Snap is first installed)
|
|
|
|
[[ -n "$(snapctl get mode)" ]] || exit 0
|
|
|
|
|
|
|
|
# Select leader from the Snap configuration
|
|
|
|
leader_address="$(snapctl get leader-address)"
|
|
|
|
if [[ -z "$leader_address" ]]; then
|
|
|
|
# Assume drone is running on the same node as the leader by default
|
|
|
|
leader_address="localhost"
|
|
|
|
fi
|
2018-06-26 16:46:17 -07:00
|
|
|
leader="$leader_address"
|
2018-06-24 10:10:55 -07:00
|
|
|
else
|
|
|
|
leader=${1:-${here}/..} # Default to local solana repo
|
|
|
|
fi
|
|
|
|
|
2018-06-26 16:46:17 -07:00
|
|
|
rsync_leader_url=$(rsync_url "$leader")
|
2018-06-24 10:10:55 -07:00
|
|
|
set -ex
|
|
|
|
mkdir -p $SOLANA_CONFIG_DIR
|
2018-06-26 16:46:17 -07:00
|
|
|
rsync -vPz "$rsync_leader_url"/config/leader.json $SOLANA_CONFIG_DIR/
|
2018-07-02 07:49:14 -07:00
|
|
|
rsync -vPz "$rsync_leader_url"/config-private/mint.json $SOLANA_CONFIG_DIR/
|
2018-06-24 10:10:55 -07:00
|
|
|
|
|
|
|
# shellcheck disable=SC2086 # $solana_drone should not be quoted
|
|
|
|
exec $solana_drone \
|
2018-06-28 11:56:53 -07:00
|
|
|
-l $SOLANA_CONFIG_DIR/leader.json < $SOLANA_CONFIG_DIR/mint.json
|