Initial commit: LLM Automation Docs & Remediation Engine v2.0
Features: - Automated datacenter documentation generation - MCP integration for device connectivity - Auto-remediation engine with safety checks - Multi-factor reliability scoring (0-100%) - Human feedback learning loop - Pattern recognition and continuous improvement - Agentic chat support with AI - API for ticket resolution - Frontend React with Material-UI - CI/CD pipelines (GitLab + Gitea) - Docker & Kubernetes deployment - Complete documentation and guides v2.0 Highlights: - Auto-remediation with write operations (disabled by default) - Reliability calculator with 4-factor scoring - Human feedback system for continuous learning - Pattern-based progressive automation - Approval workflow for critical actions - Full audit trail and rollback capability
This commit is contained in:
102
docker-entrypoint.sh
Normal file
102
docker-entrypoint.sh
Normal file
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Funzione per attendere servizio
|
||||
wait_for_service() {
|
||||
local host=$1
|
||||
local port=$2
|
||||
local max_attempts=30
|
||||
local attempt=0
|
||||
|
||||
echo "Waiting for $host:$port..."
|
||||
while ! nc -z "$host" "$port" 2>/dev/null; do
|
||||
attempt=$((attempt + 1))
|
||||
if [ $attempt -ge $max_attempts ]; then
|
||||
echo "ERROR: Service $host:$port not available after $max_attempts attempts"
|
||||
return 1
|
||||
fi
|
||||
echo "Attempt $attempt/$max_attempts..."
|
||||
sleep 2
|
||||
done
|
||||
echo "$host:$port is available!"
|
||||
}
|
||||
|
||||
# Funzione per avviare FastAPI server
|
||||
start_api_server() {
|
||||
echo "Starting FastAPI documentation server on port 8000..."
|
||||
cd /app
|
||||
exec uvicorn api.main:app \
|
||||
--host 0.0.0.0 \
|
||||
--port 8000 \
|
||||
--log-level info \
|
||||
--access-log \
|
||||
--use-colors
|
||||
}
|
||||
|
||||
# Funzione per avviare MCP server
|
||||
start_mcp_server() {
|
||||
echo "Starting MCP server on port 8001..."
|
||||
cd /app
|
||||
exec uvicorn mcp-server.server:mcp_app \
|
||||
--host 0.0.0.0 \
|
||||
--port 8001 \
|
||||
--log-level info \
|
||||
--access-log
|
||||
}
|
||||
|
||||
# Funzione per avviare entrambi i server
|
||||
start_all_servers() {
|
||||
echo "Starting all servers..."
|
||||
|
||||
# Start MCP server in background
|
||||
uvicorn mcp-server.server:mcp_app \
|
||||
--host 0.0.0.0 \
|
||||
--port 8001 \
|
||||
--log-level info &
|
||||
|
||||
MCP_PID=$!
|
||||
echo "MCP server started with PID $MCP_PID"
|
||||
|
||||
# Start API server in foreground
|
||||
uvicorn api.main:app \
|
||||
--host 0.0.0.0 \
|
||||
--port 8000 \
|
||||
--log-level info \
|
||||
--access-log &
|
||||
|
||||
API_PID=$!
|
||||
echo "API server started with PID $API_PID"
|
||||
|
||||
# Wait for both processes
|
||||
wait $MCP_PID $API_PID
|
||||
}
|
||||
|
||||
# Verifica che la documentazione sia stata compilata
|
||||
if [ ! -d "/app/site" ]; then
|
||||
echo "WARNING: Documentation site not found at /app/site"
|
||||
echo "Documentation will not be served until built."
|
||||
fi
|
||||
|
||||
# Main execution
|
||||
case "$1" in
|
||||
server|api)
|
||||
start_api_server
|
||||
;;
|
||||
mcp)
|
||||
start_mcp_server
|
||||
;;
|
||||
all)
|
||||
start_all_servers
|
||||
;;
|
||||
bash)
|
||||
exec /bin/bash
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {server|mcp|all|bash}"
|
||||
echo " server - Start FastAPI documentation server (port 8000)"
|
||||
echo " mcp - Start MCP server (port 8001)"
|
||||
echo " all - Start both servers"
|
||||
echo " bash - Start bash shell"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user