# Backend Demo Infrastructure This directory contains the complete demo backend infrastructure for SRE Agent testing and development. ## ๐Ÿ“ Structure ``` backend/ โ”œโ”€โ”€ config_utils.py # Configuration utilities โ”œโ”€โ”€ data/ # Organized fake data โ”‚ โ”œโ”€โ”€ k8s_data/ # Kubernetes mock data โ”‚ โ”œโ”€โ”€ logs_data/ # Application logs โ”‚ โ”œโ”€โ”€ metrics_data/ # Performance metrics โ”‚ โ””โ”€โ”€ runbooks_data/ # Operational procedures โ”œโ”€โ”€ openapi_specs/ # API specifications โ”‚ โ”œโ”€โ”€ k8s_api.yaml # Kubernetes API spec โ”‚ โ”œโ”€โ”€ logs_api.yaml # Logs API spec โ”‚ โ”œโ”€โ”€ metrics_api.yaml # Metrics API spec โ”‚ โ””โ”€โ”€ runbooks_api.yaml # Runbooks API spec โ”œโ”€โ”€ servers/ # Mock API implementations โ”‚ โ”œโ”€โ”€ k8s_server.py # Kubernetes API server โ”‚ โ”œโ”€โ”€ logs_server.py # Logs API server โ”‚ โ”œโ”€โ”€ metrics_server.py # Metrics API server โ”‚ โ”œโ”€โ”€ runbooks_server.py # Runbooks API server โ”‚ โ”œโ”€โ”€ run_all_servers.py # Start all servers โ”‚ โ””โ”€โ”€ stop_servers.py # Stop all servers โ””โ”€โ”€ scripts/ # Operational scripts โ”œโ”€โ”€ start_demo_backend.sh # Simplified startup โ””โ”€โ”€ stop_demo_backend.sh # Simplified shutdown ``` ## ๐Ÿš€ Quick Start ### Simple Startup (Recommended) ```bash # Start all demo servers with simple Python HTTP servers ./scripts/start_demo_backend.sh ``` ### Advanced Startup (Full FastAPI servers) ```bash # Start full-featured servers with FastAPI cd servers python run_all_servers.py ``` ## ๐ŸŒ API Endpoints When running, the demo backend provides these endpoints: - **Kubernetes API**: http://localhost:8001 - **Logs API**: http://localhost:8002 - **Metrics API**: http://localhost:8003 - **Runbooks API**: http://localhost:8004 ## ๐Ÿ“Š Data Organization ### K8s Data (`data/k8s_data/`) - `deployments.json` - Deployment status and configurations - `pods.json` - Pod states and resource usage - `events.json` - Cluster events and warnings ### Logs Data (`data/logs_data/`) - `application_logs.json` - Application log entries - `error_logs.json` - Error-specific log entries ### Metrics Data (`data/metrics_data/`) - `performance_metrics.json` - Response times, throughput - `resource_metrics.json` - CPU, memory, disk usage ### Runbooks Data (`data/runbooks_data/`) - `incident_playbooks.json` - Incident response procedures - `troubleshooting_guides.json` - Step-by-step guides ## ๐Ÿ”ง Server Implementations ### Simple HTTP Servers (Default) Basic Python `http.server` implementations that serve JSON data directly from files. ### FastAPI Servers (Advanced) Full-featured FastAPI servers with: - OpenAPI documentation - Request validation - Response schemas - Health endpoints ## ๐Ÿ“‹ OpenAPI Specifications Complete OpenAPI 3.0 specifications for all APIs: - Endpoint definitions - Request/response schemas - Authentication requirements - Example data ## ๐Ÿ›‘ Stopping Services ```bash # Simple method ./scripts/stop_demo_backend.sh # Advanced method cd servers python stop_servers.py ``` ## ๐Ÿงช Testing Test individual APIs: ```bash # Test K8s API curl http://localhost:8001/health # Test with specific endpoints curl http://localhost:8001/api/v1/namespaces/production/pods curl http://localhost:8002/api/v1/logs/search?query=error ``` ## โš™๏ธ Configuration The backend uses realistic data scenarios including: - Failed database pods - Memory pressure warnings - Performance degradation patterns - Common troubleshooting procedures This provides a comprehensive testing environment for the SRE Agent system.