| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #!/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 ""
|