Separate bootstrap settings from runtime overrides with a dedicated runtime settings manager

This commit is contained in:
2026-04-10 19:31:51 +02:00
parent 9b4cd17e3b
commit 3b6e39ddad
11 changed files with 61 additions and 32 deletions

View File

@@ -20,6 +20,7 @@ from app.db import init_db, open_db
from app.services import geo_service, setup_service
from app.tasks import blocklist_import, geo_cache_flush, geo_re_resolve, health_check, history_sync
from app.utils.jail_config import ensure_jail_configs
from app.utils.runtime_state import set_runtime_settings
from app.utils.setup_state import set_setup_complete_cache
log: structlog.stdlib.BoundLogger = structlog.get_logger()
@@ -88,7 +89,8 @@ async def startup_shared_resources(
updated_settings = settings.model_copy(update=persisted_runtime_settings)
if Path(updated_settings.database_path).resolve() != original_db_path:
await _ensure_database_schema(updated_settings.database_path)
app.state.settings = updated_settings
set_runtime_settings(app, updated_settings)
settings = updated_settings
log.info(
"runtime_settings_overridden_from_setup",
overrides=persisted_runtime_settings,