Switch to angular
This commit is contained in:
189
scripts/quickstart.sh
Normal file
189
scripts/quickstart.sh
Normal file
@@ -0,0 +1,189 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "========================================="
|
||||
echo "Test Artifact Data Lake - Quick Start"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
|
||||
# Check if Docker is installed
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "Error: Docker is not installed. Please install Docker first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if Docker Compose is installed
|
||||
COMPOSE_CMD=""
|
||||
if command -v docker-compose &> /dev/null; then
|
||||
COMPOSE_CMD="docker-compose"
|
||||
elif docker compose version &> /dev/null; then
|
||||
COMPOSE_CMD="docker compose"
|
||||
else
|
||||
echo "Error: Docker Compose is not installed. Please install Docker Compose first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Parse command line arguments
|
||||
REBUILD=false
|
||||
FULL_STACK=false
|
||||
DEV_MODE=false
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--rebuild)
|
||||
REBUILD=true
|
||||
shift
|
||||
;;
|
||||
--full-stack)
|
||||
FULL_STACK=true
|
||||
shift
|
||||
;;
|
||||
--dev)
|
||||
DEV_MODE=true
|
||||
shift
|
||||
;;
|
||||
--help)
|
||||
echo "Usage: $0 [OPTIONS]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --rebuild Force rebuild of all containers"
|
||||
echo " --full-stack Start complete stack including frontend (production build)"
|
||||
echo " --dev Start backend only, use separate dev server for frontend"
|
||||
echo " --help Show this help message"
|
||||
echo ""
|
||||
echo "Default: Starts backend services only (recommended for development)"
|
||||
echo ""
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
echo "Use --help for usage information"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Create .env file if it doesn't exist
|
||||
if [ ! -f .env ]; then
|
||||
echo "Creating .env file from .env.example..."
|
||||
cp .env.example .env
|
||||
echo "✓ .env file created"
|
||||
else
|
||||
echo "✓ .env file already exists"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# Stop existing containers if rebuild is requested
|
||||
if [ "$REBUILD" = true ]; then
|
||||
echo "🔄 Rebuilding containers..."
|
||||
echo "Stopping existing containers..."
|
||||
$COMPOSE_CMD down
|
||||
|
||||
if [ "$FULL_STACK" = true ]; then
|
||||
echo "Removing existing images for full rebuild..."
|
||||
$COMPOSE_CMD -f docker-compose.production.yml down --rmi local 2>/dev/null || true
|
||||
echo "Building and starting full stack..."
|
||||
$COMPOSE_CMD -f docker-compose.production.yml up -d --build
|
||||
else
|
||||
echo "Removing existing backend images for rebuild..."
|
||||
$COMPOSE_CMD down --rmi local 2>/dev/null || true
|
||||
echo "Building and starting backend services..."
|
||||
$COMPOSE_CMD up -d --build
|
||||
fi
|
||||
else
|
||||
# Regular startup
|
||||
if [ "$FULL_STACK" = true ]; then
|
||||
echo "Starting full production stack (backend + frontend)..."
|
||||
$COMPOSE_CMD -f docker-compose.production.yml up -d
|
||||
else
|
||||
echo "Starting backend services..."
|
||||
$COMPOSE_CMD up -d
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Waiting for services to be ready..."
|
||||
sleep 15
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
if [ "$FULL_STACK" = true ]; then
|
||||
echo "Complete Stack is running! 🚀"
|
||||
else
|
||||
echo "Backend Services are running!"
|
||||
fi
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "API: http://localhost:8000"
|
||||
echo "API Docs: http://localhost:8000/docs"
|
||||
echo "MinIO Console: http://localhost:9001"
|
||||
echo " Username: minioadmin"
|
||||
echo " Password: minioadmin"
|
||||
echo ""
|
||||
|
||||
if [ "$FULL_STACK" = true ]; then
|
||||
echo "Frontend: http://localhost:80"
|
||||
echo " (Production build with Nginx)"
|
||||
echo ""
|
||||
echo "To view logs: $COMPOSE_CMD -f docker-compose.production.yml logs -f"
|
||||
echo "To stop: $COMPOSE_CMD -f docker-compose.production.yml down"
|
||||
else
|
||||
echo "To view logs: $COMPOSE_CMD logs -f"
|
||||
echo "To stop: $COMPOSE_CMD down"
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo "Frontend Options:"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "Development (with hot reload):"
|
||||
echo " ./dev-start.sh"
|
||||
echo " Frontend will be available at: http://localhost:4200"
|
||||
echo ""
|
||||
echo "Or start full production stack:"
|
||||
echo " ./quickstart.sh --full-stack"
|
||||
echo " Complete stack at: http://localhost:80"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo "Rebuild Options:"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "Force rebuild backend: ./quickstart.sh --rebuild"
|
||||
echo "Force rebuild full stack: ./quickstart.sh --rebuild --full-stack"
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo "Testing the API..."
|
||||
echo "========================================="
|
||||
echo ""
|
||||
|
||||
# Wait a bit more for API to be fully ready
|
||||
sleep 5
|
||||
|
||||
# Test health endpoint
|
||||
if curl -s http://localhost:8000/health | grep -q "healthy"; then
|
||||
echo "✓ API is healthy!"
|
||||
echo ""
|
||||
if [ "$FULL_STACK" = false ]; then
|
||||
echo "🎯 Ready for development!"
|
||||
echo "Run './dev-start.sh' to start the frontend with hot reload"
|
||||
echo ""
|
||||
fi
|
||||
echo "Example: Upload a test file"
|
||||
echo "----------------------------"
|
||||
echo 'echo "test,data" > test.csv'
|
||||
echo 'curl -X POST "http://localhost:8000/api/v1/artifacts/upload" \'
|
||||
echo ' -F "file=@test.csv" \'
|
||||
echo ' -F "test_name=sample_test" \'
|
||||
echo ' -F "test_suite=demo" \'
|
||||
echo ' -F "test_result=pass"'
|
||||
echo ""
|
||||
else
|
||||
echo "⚠ API is not responding yet. Please wait a moment and check http://localhost:8000/health"
|
||||
fi
|
||||
|
||||
echo "========================================="
|
||||
echo "Setup complete! 🚀"
|
||||
echo "========================================="
|
||||
Reference in New Issue
Block a user