mirror of
https://github.com/andwati/telecom-platform.git
synced 2026-10-18 02:52:53 +00:00
feat: Add API Gateway startup script with health checks and service validation
- Add start-gateway.sh script for Traefik-based API Gateway deployment - Add JWT_SECRET environment variable validation with development fallback warning - Create traefik/dynamic directory for dynamic configuration - Add docker-compose orchestration with build and detached mode - Add health check endpoints for Traefik (/ping), API Server (/api/v1/health), and Charging Engine (/v1/health) - Add service URL documentation
This commit is contained in:
Executable
+72
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Telecom Platform API Gateway Startup Script
|
||||
# This script starts the platform with Traefik as the API Gateway
|
||||
|
||||
set -e
|
||||
|
||||
echo "Starting Telecom Platform with API Gateway..."
|
||||
|
||||
# Check for required environment variables
|
||||
if [ -z "$JWT_SECRET" ]; then
|
||||
echo "WARNING: JWT_SECRET not set, using default for development only"
|
||||
export JWT_SECRET="change-me-in-production-jwt-secret-32-chars-min"
|
||||
fi
|
||||
|
||||
# Create necessary directories
|
||||
mkdir -p traefik/dynamic
|
||||
|
||||
# Stop any existing containers
|
||||
echo "Stopping existing containers..."
|
||||
docker-compose down
|
||||
|
||||
# Build and start services
|
||||
echo "Building and starting services with API Gateway..."
|
||||
docker-compose up --build -d
|
||||
|
||||
# Wait for services to be ready
|
||||
echo "Waiting for services to be ready..."
|
||||
sleep 10
|
||||
|
||||
# Check service health
|
||||
echo "Checking service health..."
|
||||
|
||||
# Check Traefik
|
||||
if curl -f http://localhost:8080/ping >/dev/null 2>&1; then
|
||||
echo "Traefik: OK"
|
||||
else
|
||||
echo "Traefik: FAILED"
|
||||
fi
|
||||
|
||||
# Check API Server through gateway
|
||||
if curl -f http://localhost/api/v1/health >/dev/null 2>&1; then
|
||||
echo "API Server: OK"
|
||||
else
|
||||
echo "API Server: FAILED"
|
||||
fi
|
||||
|
||||
# Check Charging Engine through gateway
|
||||
if curl -f http://localhost/v1/health >/dev/null 2>&1; then
|
||||
echo "Charging Engine: OK"
|
||||
else
|
||||
echo "Charging Engine: FAILED"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "API Gateway is running!"
|
||||
echo ""
|
||||
echo "Services:"
|
||||
echo " - Traefik Dashboard: http://localhost:8080"
|
||||
echo " - API Server: https://api.telecom.com/api/v1"
|
||||
echo " - Charging Engine: https://api.telecom.com/v1/credit"
|
||||
echo " - Carrier Connector: https://api.telecom.com/v1/es2"
|
||||
echo " - Packet Gateway: https://api.telecom.com/v1/packet"
|
||||
echo " - Web Dashboard: http://localhost:3000"
|
||||
echo ""
|
||||
echo "To add api.telecom.com to your hosts file:"
|
||||
echo " echo '127.0.0.1 api.telecom.com' | sudo tee -a /etc/hosts"
|
||||
echo ""
|
||||
echo "To view logs:"
|
||||
echo " docker-compose logs -f traefik"
|
||||
echo " docker-compose logs -f api-server"
|
||||
echo " docker-compose logs -f charging-engine"
|
||||
Reference in New Issue
Block a user