6 Commits

Author SHA1 Message Date
Andrey Epifancev
7a6a7fb36b fix: валидация настроек обмена PositiveInt/NonNegativeInt (M-4)
OUTBOX_POLL_SECONDS и ACK_TIMEOUT_SECONDS — PositiveInt, OUTBOX_MAX_REPUBLISH —
NonNegativeInt: 0 и отрицательные значения периода и таймаута, отрицательное
число повторов отвергаются при старте. Значения по умолчанию прежние.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 01:53:48 +04:00
Andrey Epifancev
3d31c1eac5 fix: SMB необязателен, остановка lifespan по независимым шагам (I-3, T4.5, M-3)
- OPENBAO__SMB__* необязательны (по умолчанию пусто); при пустом SMB_HOST
  сессия SMB не регистрируется (DEBUG «SMB не настроен»), в .env.example
  и .env.test SMB выключен — в логе dev-запуска больше нет трейсбэка SMB.
- Задан SMB_HOST: register_session и reset_connection_cache вызываются
  через asyncio.to_thread и не блокируют цикл событий.
- Остановка: задачи обмена -> NATS -> S3 -> SMB -> engine.dispose();
  каждый шаг в своём try/except с логом step=..., ошибка одного шага не
  отменяет следующие. Пул соединений БД закрывается последним (M-3).
- README: «что в логе при запуске», таблица настроек SMB, порядок
  остановки.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 01:53:23 +04:00
Andrey Epifancev
81bb79e600 feat: make check-full — check, dbml-check, интеграционные тесты против compose, docker build, web; .env.test на порты compose
Цели docker-build, web-check, check-infra (подсказка «make up»); .env.test переведён на 5432/4222/9000 (R-19),
test_config и README обновлены. Цикл миграций входит в test-integration и отдельным шагом не дублируется.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 00:58:57 +04:00
Andrey Epifancev
4d13a1ddb2 fix: настройка OPENBAO__MINIO__MINIO_SECURE — http-MinIO из compose без SSL-ошибки при старте (R-20)
MinioSettings.MINIO_SECURE (по умолчанию true — https, как в шаблоне и на платформе) передаётся в Minio(secure=...);
.env.example и .env.test — false (MinIO из docker compose слушает http). README: трейсбэк S3 из раздела
«что в логе» убран, переменная добавлена в таблицу конфигурации.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 23:47:39 +04:00
Andrey Epifancev
e432c1c542 test: test_defaults проверяет умолчания Settings без env-файла
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:23:21 +04:00
Andrey Epifancev
dff1e050b9 feat: Settings читает ENV_FILE, поля auth/NATS/outbox, .env.example и .env.test
NATS_SEED/NATS_JWT необязательны (пусто — подключение без nkeys); в app.py
разбор seed защищён от пустого значения (подключение переедет в задаче 22).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:17:19 +04:00