Add top-level run.sh for easy local cluster startup

This commit is contained in:
Michael Vines
2019-02-16 09:58:28 -08:00
committed by Grimes
parent 83ac075b22
commit 599516473a
4 changed files with 12 additions and 4 deletions

View File

@ -9,5 +9,5 @@ RUN apt update && \
rm -rf /var/lib/apt/lists/*
COPY usr/bin /usr/bin/
ENTRYPOINT [ "/usr/bin/solana-entrypoint.sh" ]
ENTRYPOINT [ "/usr/bin/solana-run.sh" ]
CMD [""]

View File

@ -14,7 +14,7 @@ rm -rf usr/
../../ci/docker-run.sh solanalabs/rust:1.31.0 \
scripts/cargo-install-all.sh sdk/docker-solana/usr
cp -f entrypoint.sh usr/bin/solana-entrypoint.sh
cp -f ../../run.sh usr/bin/solana-run.sh
docker build -t solanalabs/solana:"$CHANNEL" .

View File

@ -1,54 +0,0 @@
#!/usr/bin/env bash
#
# Run a minimal Solana cluster. Ctrl-C to exit.
#
# Before running this script ensure standard Solana programs are available
# in the PATH, or that `cargo build --all` ran successfully
#
set -e
# Prefer possible `cargo build --all` binaries over PATH binaries
PATH=$PWD/target/debug:$PATH
ok=true
for program in solana-{genesis,keygen,fullnode{,-config}}; do
$program -V || ok=false
done
$ok || {
echo
echo "Unable to locate required programs. Try running: cargo build --all"
exit 1
}
export RUST_LOG=${RUST_LOG:-solana=info} # if RUST_LOG is unset, default to info
export RUST_BACKTRACE=1
dataDir=$PWD/target/"$(basename "$0" .sh)"
set -x
solana-keygen -o "$dataDir"/config/leader-keypair.json
solana-keygen -o "$dataDir"/config/drone-keypair.json
solana-fullnode-config \
--keypair="$dataDir"/config/leader-keypair.json -l > "$dataDir"/config/leader-config.json
solana-genesis \
--num_tokens 1000000000 \
--mint "$dataDir"/config/drone-keypair.json \
--bootstrap-leader-keypair "$dataDir"/config/leader-keypair.json \
--ledger "$dataDir"/ledger
solana-drone --keypair "$dataDir"/config/drone-keypair.json &
drone=$!
solana-fullnode \
--identity "$dataDir"/config/leader-config.json \
--ledger "$dataDir"/ledger/ \
--rpc-port 8899 &
fullnode=$!
abort() {
kill "$drone" "$fullnode"
}
trap abort SIGINT SIGTERM
wait "$fullnode"
kill "$drone" "$fullnode"