Experimental gui.
This commit is contained in:
92
experimental/daemon/tests/integration/start-interactive.sh
Executable file
92
experimental/daemon/tests/integration/start-interactive.sh
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 Starting wild-cloud-central for interactive testing..."
|
||||
|
||||
# Build the Docker image if it doesn't exist
|
||||
if ! docker images | grep -q wild-cloud-central-test; then
|
||||
echo "🔨 Building Docker image..."
|
||||
docker build -t wild-cloud-central-test .
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🌐 Starting services... This will take a few seconds."
|
||||
echo ""
|
||||
echo "📍 Access points:"
|
||||
echo " - Management UI: http://localhost:9080"
|
||||
echo " - API directly: http://localhost:9081"
|
||||
echo " - Health check: http://localhost:9081/api/v1/health"
|
||||
echo ""
|
||||
echo "🔧 Available API endpoints:"
|
||||
echo " - GET /api/v1/health"
|
||||
echo " - GET /api/v1/config"
|
||||
echo " - PUT /api/v1/config"
|
||||
echo " - GET /api/v1/dnsmasq/config"
|
||||
echo " - POST /api/v1/dnsmasq/restart"
|
||||
echo " - POST /api/v1/pxe/assets"
|
||||
echo ""
|
||||
echo "💡 Example commands to try:"
|
||||
echo " curl http://localhost:9081/api/v1/health"
|
||||
echo " curl http://localhost:9081/api/v1/config"
|
||||
echo " curl http://localhost:9081/api/v1/dnsmasq/config"
|
||||
echo " curl -X POST http://localhost:9081/api/v1/pxe/assets"
|
||||
echo ""
|
||||
echo "🛑 Press Ctrl+C to stop all services"
|
||||
echo ""
|
||||
|
||||
# Create a custom startup script that keeps services running
|
||||
docker run --rm -it \
|
||||
-p 127.0.0.1:9081:5055 \
|
||||
-p 127.0.0.1:9080:80 \
|
||||
-p 127.0.0.1:9053:53/udp \
|
||||
-p 127.0.0.1:9067:67/udp \
|
||||
-p 127.0.0.1:9069:69/udp \
|
||||
--cap-add=NET_ADMIN \
|
||||
--cap-add=NET_BIND_SERVICE \
|
||||
--name wild-central-interactive \
|
||||
wild-cloud-central-test \
|
||||
/bin/bash -c '
|
||||
echo "🔧 Starting all services..."
|
||||
|
||||
# Start nginx
|
||||
nginx &
|
||||
NGINX_PID=$!
|
||||
|
||||
# Start dnsmasq
|
||||
dnsmasq --keep-in-foreground --log-facility=- &
|
||||
DNSMASQ_PID=$!
|
||||
|
||||
# Start wild-cloud-central
|
||||
/usr/bin/wild-cloud-central &
|
||||
SERVICE_PID=$!
|
||||
|
||||
# Wait for services to start
|
||||
sleep 3
|
||||
|
||||
echo "✅ All services started!"
|
||||
echo " - nginx (PID: $NGINX_PID)"
|
||||
echo " - dnsmasq (PID: $DNSMASQ_PID)"
|
||||
echo " - wild-cloud-central (PID: $SERVICE_PID)"
|
||||
echo ""
|
||||
echo "🌐 Services are now available:"
|
||||
echo " - Web UI: http://localhost:9080"
|
||||
echo " - API: http://localhost:9081"
|
||||
echo ""
|
||||
|
||||
# Function to handle shutdown
|
||||
shutdown() {
|
||||
echo ""
|
||||
echo "🛑 Shutting down services..."
|
||||
kill $SERVICE_PID $DNSMASQ_PID $NGINX_PID 2>/dev/null || true
|
||||
echo "✅ Shutdown complete."
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Set up signal handlers
|
||||
trap shutdown SIGTERM SIGINT
|
||||
|
||||
# Keep container running and wait for signals
|
||||
echo "✨ Container is ready! Press Ctrl+C to stop."
|
||||
wait
|
||||
'
|
Reference in New Issue
Block a user