2022-01-12 18:04:55 +00:00
|
|
|
#!/usr/bin/env bash
|
2020-11-20 19:50:43 +00:00
|
|
|
|
2021-02-17 18:30:31 +00:00
|
|
|
set -ex
|
|
|
|
|
2020-11-20 19:50:43 +00:00
|
|
|
SCRIPT_FOLDER="`dirname \"$0\"`"
|
|
|
|
REPO_FOLDER="${SCRIPT_FOLDER}/../"
|
|
|
|
GARAGE_DEBUG="${REPO_FOLDER}/target/debug/"
|
|
|
|
GARAGE_RELEASE="${REPO_FOLDER}/target/release/"
|
2021-10-04 16:27:57 +00:00
|
|
|
NIX_RELEASE="${REPO_FOLDER}/result/bin/"
|
|
|
|
PATH="${GARAGE_DEBUG}:${GARAGE_RELEASE}:${NIX_RELEASE}:$PATH"
|
2020-11-20 19:50:43 +00:00
|
|
|
|
2023-09-27 11:38:17 +00:00
|
|
|
if [ -z "$GARAGE_BIN" ]; then
|
|
|
|
GARAGE_BIN=$(which garage || exit 1)
|
|
|
|
echo -en "Found garage at: ${GARAGE_BIN}\n"
|
|
|
|
else
|
|
|
|
echo -en "Using garage binary at: ${GARAGE_BIN}\n"
|
|
|
|
fi
|
|
|
|
$GARAGE_BIN --version
|
|
|
|
|
2021-02-17 18:30:31 +00:00
|
|
|
sleep 5
|
2021-10-04 16:27:57 +00:00
|
|
|
RETRY=120
|
2023-09-27 11:38:17 +00:00
|
|
|
until $GARAGE_BIN -c /tmp/config.1.toml status 2>&1|grep -q HEALTHY ; do
|
2021-10-04 16:27:57 +00:00
|
|
|
(( RETRY-- ))
|
|
|
|
if (( RETRY <= 0 )); then
|
|
|
|
echo "garage did not start in time, failing."
|
|
|
|
exit 1
|
|
|
|
fi
|
2020-11-29 16:03:08 +00:00
|
|
|
echo "cluster starting..."
|
|
|
|
sleep 1
|
|
|
|
done
|
|
|
|
|
2023-09-27 11:38:17 +00:00
|
|
|
if [ "$GARAGE_08" = "1" ]; then
|
|
|
|
$GARAGE_BIN -c /tmp/config.1.toml status \
|
|
|
|
| grep 'NO ROLE' \
|
|
|
|
| grep -Po '^[0-9a-f]+' \
|
|
|
|
| while read id; do
|
|
|
|
$GARAGE_BIN -c /tmp/config.1.toml layout assign $id -z dc1 -c 1
|
|
|
|
done
|
|
|
|
else
|
|
|
|
$GARAGE_BIN -c /tmp/config.1.toml status \
|
|
|
|
| grep 'NO ROLE' \
|
|
|
|
| grep -Po '^[0-9a-f]+' \
|
|
|
|
| while read id; do
|
|
|
|
$GARAGE_BIN -c /tmp/config.1.toml layout assign $id -z dc1 -c 1G
|
|
|
|
done
|
|
|
|
fi
|
2020-11-20 19:50:43 +00:00
|
|
|
|
2023-09-27 11:38:17 +00:00
|
|
|
$GARAGE_BIN -c /tmp/config.1.toml layout apply --version 1
|