diff --git a/demos/weather_forecast/run_demo.sh b/demos/weather_forecast/run_demo.sh index 66e92de1..cd34262f 100644 --- a/demos/weather_forecast/run_demo.sh +++ b/demos/weather_forecast/run_demo.sh @@ -29,13 +29,13 @@ get_compose_file() { # Function to start the demo start_demo() { # Step 1: Determine the docker-compose file - COMPOSE_FILE=$(get_compose_file "$1" 2>/dev/null) # Redirects output to /dev/null so user doesn't see it + COMPOSE_FILE=$(get_compose_file "$1") # Step 2: Check if .env file exists if [ -f ".env" ]; then echo ".env file already exists. Skipping creation." else - # Step 3: Create `.env` file and set OpenAI key + # Step 3: Check for required environment variables if [ -z "$OPENAI_API_KEY" ]; then echo "Error: OPENAI_API_KEY environment variable is not set for the demo." exit 1 @@ -45,50 +45,44 @@ start_demo() { exit 1 fi + # Create .env file echo "Creating .env file..." echo "OPENAI_API_KEY=$OPENAI_API_KEY" > .env if [ "$1" == "logfire" ]; then echo "LOGFIRE_API_KEY=$LOGFIRE_API_KEY" >> .env fi - echo ".env file created with OPENAI_API_KEY." + echo ".env file created with required API keys." fi load_env - if [ "$1" == "logfire" ] && [ -z "$LOGFIRE_API_KEY" ]; then - echo "Error: LOGFIRE_API_KEY environment variable is required for Logfire." - exit 1 - fi - - - # Step 4: Start Arch echo "Starting Arch with arch_config.yaml..." archgw up arch_config.yaml # Step 5: Start Network Agent with the chosen Docker Compose file - echo "Starting Network Agent using $COMPOSE_FILE..." docker compose -f "$COMPOSE_FILE" up -d # Run in detached mode } # Function to stop the demo stop_demo() { - echo "Stopping all Docker Compose services..." + # Step 1: Determine the demo to stop (default to jaeger if no argument provided) + DEMO=${1:-jaeger} + COMPOSE_FILE=$(get_compose_file "$DEMO") - # Stop all services by iterating through all configurations - for compose_file in ./docker-compose*.yaml; do - echo "Stopping services in $compose_file..." - docker compose -f "$compose_file" down - done + # Step 2: Stop the specified Docker Compose services + echo "Stopping services for $DEMO using $COMPOSE_FILE..." + docker compose -f "$COMPOSE_FILE" down - # Stop Arch + # Step 3: Stop Arch echo "Stopping Arch..." archgw down } # Main script logic if [ "$1" == "down" ]; then - stop_demo + # Call stop_demo with the second argument as the demo to stop + stop_demo "$2" else # Use the argument (jaeger, logfire, signoz) to determine the compose file start_demo "$1"