Spaces:
Paused
Paused
| """ | |
| Bootstrap module to register concrete service implementations into the core kernel registry. | |
| This decouples backend/core from backend/app while allowing core to use app services. | |
| """ | |
| import logging | |
| # Import concrete services | |
| from app.modules.audit.service import audit_service | |
| from app.modules.auth.service import auth_service | |
| from app.services.ai.ai_service import AIService | |
| from app.services.infrastructure.monitoring_service import monitoring_service | |
| from app.services.infrastructure.performance_monitor import performance_monitor | |
| from app.services.infrastructure.storage.database_service import db_service | |
| from core.infrastructure.registry import kernel_registry | |
| logger = logging.getLogger(__name__) | |
| def bootstrap_kernel(): | |
| """Register all services in the kernel registry.""" | |
| logger.info("Bootstrapping kernel service registry...") | |
| try: | |
| # 1. Audit Service | |
| kernel_registry.audit_service = audit_service | |
| # 2. Auth Service | |
| kernel_registry.auth_service = auth_service | |
| # 3. AI Service (Instance) | |
| # We'll create a shared instance if needed or use a singleton if it exists | |
| # AIService in ai_service.py doesn't have a singleton yet, let's create one. | |
| ai_service_instance = AIService() | |
| kernel_registry.ai_service = ai_service_instance | |
| # 4. Monitoring Service | |
| kernel_registry.monitoring_service = monitoring_service | |
| # 5. Performance Monitor | |
| kernel_registry.performance_monitor = performance_monitor | |
| # 6. Database Service | |
| kernel_registry.db_service = db_service | |
| logger.info("Kernel service registry successfully bootstrapped.") | |
| except Exception as e: | |
| logger.error(f"Failed to bootstrap kernel registry: {e}") | |
| # Note: We don't raise here to allow app to start in degraded mode if possible, | |
| # but core features using these services will fallback gracefully. | |