Brian Picciano
68f417b5ba
This required switching all garage admin API calls to the new v1 versions, and redoing how the global bucket key is created so it is created via the "create key" API call.
94 lines
2.2 KiB
Bash
94 lines
2.2 KiB
Bash
set -e
|
|
|
|
base="shared/1-data-1-empty"
|
|
|
|
primus_base="$base/primus"
|
|
primus_ip="10.6.9.1"
|
|
|
|
secondus_base="$base/secondus"
|
|
secondus_ip="10.6.9.2"
|
|
|
|
function as_primus {
|
|
current_ip="$primus_ip"
|
|
eval "$($SHELL "$UTILS/shared-daemon-env.sh" "$primus_base")"
|
|
}
|
|
|
|
function as_secondus {
|
|
current_ip="$secondus_ip"
|
|
eval "$($SHELL "$UTILS/shared-daemon-env.sh" "$secondus_base")"
|
|
}
|
|
|
|
# Even if it's already intialized, we want to put the caller in primus'
|
|
# environment
|
|
as_primus
|
|
|
|
secondus_bootstrap="$(pwd)/secondus-bootstrap.json"
|
|
|
|
if [ ! -d "$XDG_RUNTIME_DIR/isle" ]; then
|
|
echo "Initializing shared single node cluster"
|
|
|
|
mkdir a
|
|
mkdir b
|
|
mkdir c
|
|
|
|
cat >daemon.yml <<EOF
|
|
vpn:
|
|
public_addr: 127.0.0.1:60000
|
|
tun:
|
|
device: isle-primus
|
|
storage:
|
|
allocations:
|
|
- data_path: a/data
|
|
meta_path: a/meta
|
|
capacity: 1
|
|
- data_path: b/data
|
|
meta_path: b/meta
|
|
capacity: 1
|
|
- data_path: c/data
|
|
meta_path: c/meta
|
|
capacity: 1
|
|
EOF
|
|
|
|
echo "Creating 1-data-1-empty network"
|
|
isle admin create-network \
|
|
--config-path daemon.yml \
|
|
--domain shared.test \
|
|
--hostname primus \
|
|
--ip-net "$current_ip/24" \
|
|
--name "testing" \
|
|
> admin.json
|
|
|
|
isle daemon --config-path daemon.yml >daemon.log 2>&1 &
|
|
pid="$!"
|
|
echo "Waiting for primus daemon (process $pid) to initialize"
|
|
|
|
while ! isle hosts list >/dev/null; do sleep 1; done
|
|
|
|
$SHELL "$UTILS/register-cleanup.sh" "$pid" "1-data-1-empty-node-cluster/primus"
|
|
|
|
echo "Creating secondus bootstrap"
|
|
isle admin create-bootstrap \
|
|
--admin-path admin.json \
|
|
--hostname secondus \
|
|
--ip "$secondus_ip" \
|
|
> "$secondus_bootstrap"
|
|
|
|
(
|
|
as_secondus
|
|
|
|
cat >daemon.yml <<EOF
|
|
vpn:
|
|
tun:
|
|
device: isle-secondus
|
|
EOF
|
|
|
|
isle daemon -c daemon.yml -b "$secondus_bootstrap" >daemon.log 2>&1 &
|
|
pid="$!"
|
|
echo "Waiting for secondus daemon (process $!) to initialize"
|
|
|
|
while ! isle hosts list >/dev/null; do sleep 1; done
|
|
|
|
$SHELL "$UTILS/register-cleanup.sh" "$pid" "1-data-1-empty-node-cluster/secondus"
|
|
)
|
|
fi
|