Sprint 2: каркас FastAPI (lifespan, health/ready, логирование, error model) #31

Open
opened 2026-10-21 23:24:37 +03:00 by embeddevio · 0 comments
Owner

Owner: backend · Est: 3 SP · P0 · Sprint 2 · Deps: #16 · Refs #15

  • FastAPI-приложение: lifespan (старт/стоп агента и планировщика), конфиг из env, structured JSON-логи с request-id.
  • Эндпоинты /api/v1/health (liveness, без деталей) и /api/v1/ready (готовность: туннель/агент/БД) для Docker HEALTHCHECK.
  • Единый формат ошибок {code, message, details}, глобальные обработчики исключений, отдача статики UI.

AC:

  • GIVEN контейнер запущен, WHEN GET /api/v1/health, THEN 200 без авторизации; WHEN GET /api/v1/ready и агент недоступен, THEN 503 с причиной.
  • GIVEN необработанное исключение в хендлере, WHEN запрос, THEN ответ в едином формате ошибки и stacktrace только в логах.

DoD: coverage ≥70%, CI green, ревью владельца роли.

**Owner:** backend · **Est:** 3 SP · **P0** · **Sprint 2** · **Deps:** #16 · Refs #15 - FastAPI-приложение: lifespan (старт/стоп агента и планировщика), конфиг из env, structured JSON-логи с request-id. - Эндпоинты `/api/v1/health` (liveness, без деталей) и `/api/v1/ready` (готовность: туннель/агент/БД) для Docker HEALTHCHECK. - Единый формат ошибок `{code, message, details}`, глобальные обработчики исключений, отдача статики UI. AC: - GIVEN контейнер запущен, WHEN `GET /api/v1/health`, THEN 200 без авторизации; WHEN `GET /api/v1/ready` и агент недоступен, THEN 503 с причиной. - GIVEN необработанное исключение в хендлере, WHEN запрос, THEN ответ в едином формате ошибки и stacktrace только в логах. DoD: coverage ≥70%, CI green, ревью владельца роли.
embeddevio added this to the Sprint 2 — Control plane: REST API + Web UI milestone 2026-10-21 23:24:37 +03:00
embeddevio added the backendstatus/backlog labels 2026-10-21 23:24:37 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: embeddevio/awg-dash#31