arm-scan-gateway/api/.env.example
Andrey Epifancev 58bcae2a57 Срез 0 [6.3]: прогон DoD, предложения для docs и правки .env.example
- open-questions-proposal.md: compose-фрагмент scan-emulator/scan-gateway, таблица предложений по контракту и OQ,
  чеклист для человека (файлы в ../docs не менялись)
- .env.example: SCAN_EMULATOR_POLL_SECONDS; уточнён комментарий PUBLISH_RETRIES (повторы после первой попытки)
- отмечена задача 16 плана и пункт 6.3 tasks.md

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 04:44:33 +04:00

61 lines
4.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Локальное окружение scan-gateway. Скопируйте в .env: cp .env.example .env (.env в git не попадает)
# Значения совпадают с ../docs/dev/docker-compose.yml и ../docs/dev/.env (compose: NATS 4222, MinIO 9000, бакет arm-ka);
# это только dev-умолчания. Файл окружения можно выбрать переменной ENV_FILE (по умолчанию .env, путь от каталога api/);
# переменные окружения приоритетнее файла. Тестовый набор — .env.test (его подключает pytest.ini).
DEBUG=true
# --- MinIO (S3): единственный бакет, в нём лежат входные файлы, raw/{job_id}.json и results/ ---
# Адрес без схемы (host:port) — так ждёт miniopy-async; MinIO из compose работает по http, поэтому MINIO_SECURE=false.
# На платформе MINIO_SECURE не задаётся (по умолчанию true — https).
OPENBAO__MINIO__MINIO_URL=localhost:9000
OPENBAO__MINIO__MINIO_ADMIN_LOGIN=minioadmin
OPENBAO__MINIO__MINIO_ADMIN_PASSWORD=minioadmin
OPENBAO__MINIO__MINIO_BUCKET=arm-ka
OPENBAO__MINIO__MINIO_SECURE=false
# --- NATS (core, без JetStream) ---
# NATS_SEED / NATS_JWT пустые: подключение без nkeys (локальная разработка, тесты). На платформе их выдаёт OpenBAO.
OPENBAO__NATS__NATS_URL=nats://localhost:4222
OPENBAO__NATS__NATS_SEED=
OPENBAO__NATS__NATS_JWT=
# Включает подписку на recognition.image.request. false — воркер не запускается (сервис поднимется без NATS).
NATS_ENABLED=true
# PUBLISH_RETRIES — число повторов публикации ack/результата в NATS после первой попытки (при 3 — до 4 попыток всего);
# DONE_CACHE_SIZE — размер LRU обработанных job_id (защита от повторной доставки запроса)
PUBLISH_RETRIES=3
DONE_CACHE_SIZE=1000
# --- Горячие папки ИС Сканирование ---
# local — обычный каталог (dev, тесты, эмулятор); smb — SMB-шара платформы (нужен блок OPENBAO__SMB__* ниже).
SCAN_HOTFOLDER_MODE=local
# Корень горячей папки в режиме local: каталог должен существовать (mkdir -p .hotfolder).
# Путь считается от каталога api/; его же читает эмулятор.
SCAN_HOTFOLDER_PATH=./.hotfolder
# Подкаталоги корня: «Входящие» (сюда кладётся UUID_имя) и «Исходящие» (оттуда забирается <UUID>/<UUID>.json)
SCAN_INPUT_DIR=Input
SCAN_OUTPUT_DIR=Output
# Период опроса «Исходящих», секунды
SCAN_POLL_SECONDS=5
# Потолок ожидания ответа ИС, секунды (дополнительно ограничен reply_deadline запроса); повторной отправки нет
SCAN_TIMEOUT_SECONDS=300
# Сколько заданий обрабатывается одновременно
SCAN_MAX_INFLIGHT=4
# --- SMB (только при SCAN_HOTFOLDER_MODE=smb; в режиме local весь блок не нужен) ---
# OPENBAO__SMB__SMB_HOST=smb.example.local
# OPENBAO__SMB__SMB_PATH=share/scan
# OPENBAO__SMB__SMB_LOGIN=user
# OPENBAO__SMB__SMB_PASSWORD=password
# --- Эмулятор ИС Сканирование (python -m src.scan_emulator, make emulator; только dev) ---
# Эти параметры читает сам эмулятор, сервис шлюза их не использует. Корень горячей папки и подкаталоги
# эмулятор берёт из SCAN_HOTFOLDER_PATH / SCAN_INPUT_DIR / SCAN_OUTPUT_DIR выше.
# Каталог с фикстурами ответов ИС (aep_N.json); путь от api/ (репозиторий fixtures лежит рядом с workspace)
SCAN_FIXTURES_DIR=../../fixtures/ocr
# Задержка перед выдачей ответа, секунды (имитация работы ИС)
SCAN_EMULATOR_DELAY=2
# Период опроса входящего каталога эмулятором, секунды (> 0)
SCAN_EMULATOR_POLL_SECONDS=1