zenith-backend / app /bootstrap.py
teoat's picture
Upload app/bootstrap.py with huggingface_hub
c8bc7ed verified
"""
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.