mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2026-03-22 07:06:47 +00:00
63 lines
1.7 KiB
Bash
Executable File
63 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Initialize Garage bucket and keys for integration tests.
|
|
# Run inside the Garage container after it's healthy.
|
|
#
|
|
# Outputs KEY_ID and KEY_SECRET to stdout (last two lines).
|
|
#
|
|
# Note: uses /bin/sh (not bash) since the Garage container is minimal.
|
|
#
|
|
set -eu
|
|
|
|
echo "Waiting for Garage to be ready..."
|
|
i=0
|
|
while [ "$i" -lt 30 ]; do
|
|
if /garage stats >/dev/null 2>&1; then
|
|
break
|
|
fi
|
|
sleep 1
|
|
i=$((i + 1))
|
|
done
|
|
|
|
# Layout setup
|
|
NODE_ID=$(/garage node id -q | tr -d '[:space:]')
|
|
LAYOUT_STATUS=$(/garage layout show 2>&1 || true)
|
|
if echo "$LAYOUT_STATUS" | grep -q "No nodes"; then
|
|
/garage layout assign "$NODE_ID" -c 1G -z dc1
|
|
/garage layout apply --version 1
|
|
echo "Layout applied."
|
|
else
|
|
echo "Layout already configured."
|
|
fi
|
|
|
|
# Bucket
|
|
if ! /garage bucket info reflector-media >/dev/null 2>&1; then
|
|
/garage bucket create reflector-media
|
|
echo "Bucket 'reflector-media' created."
|
|
else
|
|
echo "Bucket 'reflector-media' already exists."
|
|
fi
|
|
|
|
# Key
|
|
if /garage key info reflector-test >/dev/null 2>&1; then
|
|
echo "Key 'reflector-test' already exists."
|
|
KEY_OUTPUT=$(/garage key info reflector-test 2>&1)
|
|
else
|
|
KEY_OUTPUT=$(/garage key create reflector-test 2>&1)
|
|
echo "Key 'reflector-test' created."
|
|
fi
|
|
|
|
# Permissions
|
|
/garage bucket allow reflector-media --read --write --key reflector-test
|
|
|
|
# Extract key ID and secret from output using POSIX-compatible parsing
|
|
# garage key output format:
|
|
# Key name: reflector-test
|
|
# Key ID: GK...
|
|
# Secret key: ...
|
|
KEY_ID=$(echo "$KEY_OUTPUT" | grep "Key ID" | sed 's/.*Key ID: *//')
|
|
KEY_SECRET=$(echo "$KEY_OUTPUT" | grep "Secret key" | sed 's/.*Secret key: *//')
|
|
|
|
echo "GARAGE_KEY_ID=${KEY_ID}"
|
|
echo "GARAGE_KEY_SECRET=${KEY_SECRET}"
|