You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

77 lines
2.2 KiB

#!/bin/bash
# Wait for services to be ready
set -e
OPENBAO_ADDR=${OPENBAO_ADDR:-"http://127.0.0.1:8200"}
SEAWEEDFS_S3_ENDPOINT=${SEAWEEDFS_S3_ENDPOINT:-"http://127.0.0.1:8333"}
MAX_WAIT=120 # 2 minutes
echo "🕐 Waiting for services to be ready..."
# Wait for OpenBao
echo " Waiting for OpenBao at $OPENBAO_ADDR..."
for i in $(seq 1 $MAX_WAIT); do
if curl -s "$OPENBAO_ADDR/v1/sys/health" >/dev/null 2>&1; then
echo " ✅ OpenBao is ready!"
break
fi
if [ $i -eq $MAX_WAIT ]; then
echo " ❌ Timeout waiting for OpenBao"
exit 1
fi
sleep 1
done
# Wait for SeaweedFS Master
echo " Waiting for SeaweedFS Master at http://127.0.0.1:9333..."
for i in $(seq 1 $MAX_WAIT); do
if curl -s "http://127.0.0.1:9333/cluster/status" >/dev/null 2>&1; then
echo " ✅ SeaweedFS Master is ready!"
break
fi
if [ $i -eq $MAX_WAIT ]; then
echo " ❌ Timeout waiting for SeaweedFS Master"
exit 1
fi
sleep 1
done
# Wait for SeaweedFS Volume Server
echo " Waiting for SeaweedFS Volume Server at http://127.0.0.1:8080..."
for i in $(seq 1 $MAX_WAIT); do
if curl -s "http://127.0.0.1:8080/status" >/dev/null 2>&1; then
echo " ✅ SeaweedFS Volume Server is ready!"
break
fi
if [ $i -eq $MAX_WAIT ]; then
echo " ❌ Timeout waiting for SeaweedFS Volume Server"
exit 1
fi
sleep 1
done
# Wait for SeaweedFS S3 API
echo " Waiting for SeaweedFS S3 API at $SEAWEEDFS_S3_ENDPOINT..."
for i in $(seq 1 $MAX_WAIT); do
if curl -s "$SEAWEEDFS_S3_ENDPOINT/" >/dev/null 2>&1; then
echo " ✅ SeaweedFS S3 API is ready!"
break
fi
if [ $i -eq $MAX_WAIT ]; then
echo " ❌ Timeout waiting for SeaweedFS S3 API"
exit 1
fi
sleep 1
done
echo "🎉 All services are ready!"
# Show service status
echo ""
echo "📊 Service Status:"
echo " OpenBao: $(curl -s $OPENBAO_ADDR/v1/sys/health | jq -r '.initialized // "Unknown"')"
echo " SeaweedFS Master: $(curl -s http://127.0.0.1:9333/cluster/status | jq -r '.IsLeader // "Unknown"')"
echo " SeaweedFS Volume: $(curl -s http://127.0.0.1:8080/status | jq -r '.Version // "Unknown"')"
echo " SeaweedFS S3 API: Ready"
echo ""