cdb0c3681e
Task 3: remove config_file_service facade, update direct imports and tests
2026-04-15 21:16:00 +02:00
0e22d1c425
Move config file exceptions into app.exceptions
...
Move ConfigDirError, ConfigFileNotFoundError, ConfigFileExistsError, ConfigFileWriteError, and ConfigFileNameError from raw_config_io_service into the shared domain exception module. Update router and tests to import the exceptions from app.exceptions.
2026-04-15 10:28:27 +02:00
328f3575e2
Move Fail2Ban exceptions into central app.exceptions module
2026-04-15 10:22:48 +02:00
6dc53a80b5
Mark TASK-13 complete and document fail2ban_metadata_service
2026-04-15 09:14:29 +02:00
56c511d905
Fix module-level asyncio locks in jail_service
...
Initialize jail_service locks lazily to avoid import-time event loop binding and add regression tests for lock creation.
2026-04-15 09:10:38 +02:00
a8f2d2d7b9
Refactor geo re-resolve endpoint into geo_service and add typed response
2026-04-15 08:56:37 +02:00
2451ec77b2
Refactor config file service facade wrappers and mark TASK-06 complete in Docs/Tasks.md
2026-04-15 08:25:12 +02:00
b70dc6fa7a
Refactor blocklist schedule management into service
2026-04-14 15:25:36 +02:00
58bb769a35
Refactor history sync into history_service and update docs/tests
2026-04-14 15:09:58 +02:00
86fa271c40
Remove FastAPI dependency from jail config service signatures
2026-04-14 15:01:05 +02:00
41f8c1f6cb
Remove task import from jail_config_service and mark TASK-03 done
2026-04-14 14:38:43 +02:00
2a7766d206
Wrap blocking mkdir() calls in run_blocking for async startup and setup
2026-04-14 13:54:47 +02:00
6b436dc354
Fix undefined names and config router imports / task status update
2026-04-14 13:53:39 +02:00
09c764cebc
Task 25: extend service/repository protocol coverage and wire DI aliases
2026-04-14 12:32:42 +02:00
b1fba79a2e
Remove unused asyncio import from log_service
...
Clean log_service.py by deleting the unused asyncio import and mark Task 24 completed in Docs/Tasks.md.
2026-04-14 12:19:35 +02:00
53cdd63b6a
Add no-op session cache when session cache is disabled
...
Use NoOpSessionCache in backend/app/main.py and dynamically switch cache implementation in backend/app/dependencies.py so disabled cache mode remains safe while get_session_cache always returns a valid object.
2026-04-14 12:14:50 +02:00
ec91c1c8b2
Use shared blocking executor in run_blocking
...
Wire DEFAULT_BLOCKING_EXECUTOR as the default executor in backend/app/utils/async_utils.py, preserving custom executors and marking Task 22 completed in Docs/Tasks.md.
2026-04-14 12:07:35 +02:00
fdede3e7dd
Offload ensure_jail_configs to a thread during startup
...
Use run_blocking for synchronous jail config file creation in backend/app/startup.py and mark Task 20 completed in Docs/Tasks.md.
2026-04-14 12:01:27 +02:00
5e4d3fcf12
Remove Mock fallback from runtime_state and add runtime settings regression tests
2026-04-14 10:30:25 +02:00
cee5372690
Add backend capability cache reset helper for jail service tests
2026-04-14 10:24:14 +02:00
41a67d52ab
Remove ghost service imports from config router
2026-04-14 10:20:28 +02:00
56ade7fb08
Task 13: wire geo_batch_lookup through dependency injection and mark task completed
2026-04-14 09:51:23 +02:00
88715ab07f
Complete Task 11 by moving history_archive_repo import to history_sync top-level
2026-04-14 09:28:22 +02:00
21eabb1f0f
Resolve Task 10 by moving history_archive_repo imports to ban_service top-level
2026-04-14 09:25:23 +02:00
a564830abb
Fix blocklist service injection and centralize session cookie name
2026-04-14 09:21:38 +02:00
5a9d226cca
Consolidate fail2ban truthy values into shared constants
2026-04-14 09:03:49 +02:00
b4959133dd
Task 5: finalize config_file_service wrapper refactor and mark task done
2026-04-14 08:51:01 +02:00
37646e57f7
Remove helper indirection and import shared service helpers directly
2026-04-14 07:56:59 +02:00
a5674f9e4c
Consolidate domain exceptions into app.exceptions
...
Move all shared domain exception classes to backend/app/exceptions.py and update services/routers to import the canonical exceptions. Update docs to reflect the shared exceptions source.
2026-04-13 19:35:12 +02:00
4b2e86edbb
Fix filter_config router import and mark Task 3 complete
2026-04-13 19:10:24 +02:00
5957d851b5
Fix stale run_blocking call sites in log preview and config services
2026-04-12 20:34:35 +02:00
8e43ef9ad2
Fix setup_service to mark setup_complete only after successful runtime DB init
2026-04-12 20:30:22 +02:00
e6df045e5e
Fix startup runtime settings ordering and use effective database path for request DB connections
2026-04-12 20:02:40 +02:00
ee880e6296
Introduce explicit ApplicationContext and remove raw request.app.state usage
2026-04-12 19:56:01 +02:00
72488b14b2
Centralize fail2ban metadata resolution and cache DB path discovery
2026-04-12 19:48:33 +02:00
e221cd414f
Split monolithic config router into focused subrouters
2026-04-12 19:41:43 +02:00
e271207795
Refactor fail2ban client to use vendored adapter
2026-04-12 19:25:56 +02:00
21b38365c4
Add runtime DB schema migration and version tracking
2026-04-12 19:13:36 +02:00
ffe7ada469
Consolidate setup persistence into bootstrap metadata and runtime DB
2026-04-11 20:57:55 +02:00
cd69550053
Standardize async offloading behind shared executor helper
2026-04-11 20:40:08 +02:00
ae81a8f5be
Refactor periodic tasks to use injected scheduler resources
2026-04-11 20:32:36 +02:00
9cba5a9fcb
Refactor blocklist import registration to async startup flow
2026-04-11 20:07:00 +02:00
952469e667
Task 7 complete: move config operational orchestration from routers into service/task layer
2026-04-10 21:24:54 +02:00
91e5792caf
Mark startup runtime configuration task complete and update startup resource resolution
2026-04-10 21:13:51 +02:00
3371ff8324
Introduce service/repository dependency protocols and tests
2026-04-10 19:51:19 +02:00
3b6e39ddad
Separate bootstrap settings from runtime overrides with a dedicated runtime settings manager
2026-04-10 19:31:51 +02:00
9b4cd17e3b
Harden SQLite connection defaults with WAL and busy timeout
2026-04-10 19:24:21 +02:00
1dfc17f4f5
Replace process-local session cache with pluggable session cache backend
2026-04-10 19:22:02 +02:00
2157502670
Eliminate direct app.state access from routers
2026-04-10 19:15:37 +02:00
ff92733f90
Move runtime application state into a dedicated runtime state manager
2026-04-10 19:07:35 +02:00