- Миграции PostgreSQL через Alembic; DDL убран из lifespan приложения. - Тесты: health, status, ingress Grafana; моки Vault/Grafana/Forgejo. - Пакет onguard24/domain/ (сущности, шина событий), docs/DOMAIN.md. - Обновлены README, CHANGELOG, ARCHITECTURE. Made-with: Cursor
43 lines
2.7 KiB
Markdown
43 lines
2.7 KiB
Markdown
# Changelog
|
||
|
||
Формат: семантическое версионирование `MAJOR.MINOR.PATCH`. Git-теги `v1.0.0`, `v1.1.0` и т.д. — см. [docs/VERSIONING.md](docs/VERSIONING.md).
|
||
|
||
## [1.1.0] — 2026-04-03
|
||
|
||
Инфраструктура разработки и задел под домен IRM.
|
||
|
||
### Добавлено
|
||
|
||
- **Миграции:** Alembic (`alembic.ini`, `alembic/env.py`, ревизии в `alembic/versions/`). Начальная схема: таблица `ingress_events` (как раньше в коде). Команда: `alembic upgrade head`. DDL при старте приложения убран — только пул asyncpg.
|
||
- **Тесты:** `pytest`, `pytest-asyncio`, моки интеграций; тесты API: `/health`, `/api/v1/status`, `POST /api/v1/ingress/grafana` (в т.ч. секрет webhook). Установка: `pip install -e ".[dev]"`.
|
||
- **Домен (задел):** пакет `onguard24/domain/` — сущности `Alert`, `Incident`, эскалация; `EventBus` / `InMemoryEventBus`, протокол `Module` для подписки на события. Описание: [docs/DOMAIN.md](docs/DOMAIN.md).
|
||
|
||
### Зависимости
|
||
|
||
- Прод: `sqlalchemy`, `alembic`, `psycopg[binary]` (для CLI миграций).
|
||
- Dev (optional): `pytest`, `pytest-asyncio`, `respx`.
|
||
|
||
Тег в репозитории (после публикации): `v1.1.0`.
|
||
|
||
## [1.0.0] — 2026-04-03
|
||
|
||
Первый зафиксированный релиз **каркаса** (scaffold).
|
||
|
||
### Что входит
|
||
|
||
- **Backend:** FastAPI, uvicorn, конфиг из `.env` (путь к `.env` от корня репозитория).
|
||
- **БД:** PostgreSQL через asyncpg, пул, миграция `ingress_events` (сырой SQL в `onguard24/db.py`).
|
||
- **Ingress:** `POST /api/v1/ingress/grafana` — сохранение JSON алерта в БД; опционально `X-OnGuard-Secret` + `GRAFANA_WEBHOOK_SECRET`.
|
||
- **Статус:** `GET /`, `GET /api/v1/status` — проверки database, Vault, Grafana (SA token), Forgejo (PAT + fallback без `read:user`).
|
||
- **Модули-заглушки:** `schedules`, `contacts`, `statusboard` под префиксом `/api/v1/modules/...`.
|
||
- **Фронт:** Vite + React в `web/` (прокси на API).
|
||
- **Документация:** README, `.env.example`, `docs/ARCHITECTURE.md`.
|
||
|
||
### Не входит (следующие версии)
|
||
|
||
- Alembic / полноценные миграции.
|
||
- Авторизация публичных API (кроме секрета webhook).
|
||
- Бизнес-логика IRM (эскалации, дежурства, светофор) — только заготовки модулей.
|
||
|
||
Тег в репозитории: `v1.0.0`.
|