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
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							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 ""
							 |