v1.1.0: Alembic, pytest, домен и документация

- Миграции PostgreSQL через Alembic; DDL убран из lifespan приложения.
- Тесты: health, status, ingress Grafana; моки Vault/Grafana/Forgejo.
- Пакет onguard24/domain/ (сущности, шина событий), docs/DOMAIN.md.
- Обновлены README, CHANGELOG, ARCHITECTURE.

Made-with: Cursor
This commit is contained in:
Alexandr
2026-04-03 08:36:35 +03:00
parent 4da9b13a86
commit 85eb61b576
21 changed files with 611 additions and 32 deletions

View File

@ -6,7 +6,7 @@ from fastapi.middleware.cors import CORSMiddleware
from starlette.responses import HTMLResponse, Response
from onguard24.config import get_settings
from onguard24.db import create_pool, migrate
from onguard24.db import create_pool
from onguard24.ingress import grafana as grafana_ingress
from onguard24.modules import contacts, schedules, statusboard
from onguard24.root_html import render_root_page
@ -32,8 +32,6 @@ def parse_addr(http_addr: str) -> tuple[str, int]:
async def lifespan(app: FastAPI):
settings = get_settings()
pool = await create_pool(settings)
if pool:
await migrate(pool)
app.state.pool = pool
app.state.settings = settings
log.info("onGuard24 started, db=%s", "ok" if pool else "disabled")