# 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`.