INNER CODE UNIT · Python
lifespan
center-for-threat-informed-defense/attack-flow · src/attack_flow_api/main.py:46
async def lifespan(app: FastAPI):
settings = load_settings()
setup_logging(settings.log_level)
providers_config = load_providers_config(settings.providers_config_path)
provider_registry = ProviderRegistry(providers_config)
startup_logger = logging.getLogger("attack_flow_api.startup")
startup_logger.info(
"provider registry resolved default_provider_id=%s enabled_provider_ids=%s config_path=%s",
provider_registry.get_default_enabled_provider_id(),
[provider.provider_id for provider in providers_config.list_enabled_providers()],
settings.providers_config_path,
)
runtime_paths = resolve_runtime_paths(settings)
ensure_runtime_directories(runtime_paths)
initialize_database(settings.sqlite_path)
persistence_service = PersistenceService(settings.sqlite_path)
file_storage = LocalFileStorage(
data_dir=settings.data_dir,