Spaces:
Paused
Paused
File size: 1,934 Bytes
c8bc7ed | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | """
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.
|