docs(sprint1): P0-4 done
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
82bf53bb5c
commit
2e98e384f5
|
|
@ -13,8 +13,13 @@
|
|||
`/connect/token` и `/api/auth/signup`. 5/мин/IP, 20/час/IP. Тест: 6-я попытка за минуту → 429.
|
||||
✅ `AuthRateLimiterExtensions` (global limiter + chained окна, gate по пути), отдельные
|
||||
бакеты на эндпоинт. Проверено curl на :5091 — token 6→429, signup 6→429, бакеты независимы.
|
||||
2. [ ] **P0-4 Health checks** — `/health/live` (alive) + `/health/ready` (DB ping + миграции
|
||||
2. [x] **P0-4 Health checks** — `/health/live` (alive) + `/health/ready` (DB ping + миграции
|
||||
применены). docker-compose healthcheck → `/health/ready`.
|
||||
✅ `DatabaseReadyHealthCheck` (CanConnect + GetPendingMigrations), JSON-writer, tag `ready`.
|
||||
Проверено: live→200 (checks:[]), ready→200 (database Healthy). Dockerfile + compose api
|
||||
healthcheck на `/health/ready`, web ждёт api `service_healthy`. `/health` оставлен для
|
||||
совместимости. Прим.: startup `Migrate()` — fail-fast при DB-down на буте (вне scope, compose
|
||||
гейтит api на `postgres: service_healthy`).
|
||||
3. [ ] **P0-5 Permission-based authz** — `PermissionHandler` + `[RequiresPermission("...")]`
|
||||
читающий флаги `RolePermissions`. Заменить `[Authorize(Roles=...)]` в каталоге/документах.
|
||||
E2E: кастомная роль без `ProductsEdit` → 403 на PUT товара.
|
||||
|
|
|
|||
Loading…
Reference in a new issue