NATS: subject'ы и JWT по окружению из OpenBao (OPENBAO__NATS__*) #32

Closed
opened 2026-10-12 20:33:35 +03:00 by aep · 1 comment
Owner

Зачем

У прода и теста будут разные наборы subject'ов NATS и разные JWT. Платформа передаёт в под только переменные OPENBAO__*, поэтому окружение должно настраиваться только секретами OpenBao, без пересборки и релиза. Сейчас subject'ы зашиты константами в api/src/contract/subjects.py.

Что сделать (решение владельца 12.10.2026, подход 1)

  • Три настройки в группе OPENBAO__NATS__ (рядом с NATS_URL/NATS_SEED/NATS_JWT, как у FileWorker в контуре), одинаковые ключи во всех трёх сервисах:
    NATS_TABULAR_REQUEST_SUBJECT, NATS_IMAGE_REQUEST_SUBJECT, NATS_RESULT_SUBJECT; умолчания — текущие files.*.
  • Публикация и подписки берут имена из настроек; константы subjects.py — только умолчания.
  • NATS_JWT/NATS_SEED — SecretStr, значения скрыты в ошибках валидации и логах.
  • Subject'ы — в лог при старте и в /healthcheck.
  • Queue group остаются константами.

Сквозная задача: RSHB/arm-ka-docs#80 (контракт и спеки).

## Зачем У прода и теста будут разные наборы subject'ов NATS и разные JWT. Платформа передаёт в под только переменные `OPENBAO__*`, поэтому окружение должно настраиваться только секретами OpenBao, без пересборки и релиза. Сейчас subject'ы зашиты константами в `api/src/contract/subjects.py`. ## Что сделать (решение владельца 12.10.2026, подход 1) - Три настройки в группе `OPENBAO__NATS__` (рядом с `NATS_URL`/`NATS_SEED`/`NATS_JWT`, как у FileWorker в контуре), одинаковые ключи во всех трёх сервисах: `NATS_TABULAR_REQUEST_SUBJECT`, `NATS_IMAGE_REQUEST_SUBJECT`, `NATS_RESULT_SUBJECT`; умолчания — текущие `files.*`. - Публикация и подписки берут имена из настроек; константы `subjects.py` — только умолчания. - `NATS_JWT`/`NATS_SEED` — `SecretStr`, значения скрыты в ошибках валидации и логах. - Subject'ы — в лог при старте и в `/healthcheck`. - Queue group остаются константами. Сквозная задача: RSHB/arm-ka-docs#80 (контракт и спеки).
aep closed this issue 2026-10-13 12:54:58 +03:00
Author
Owner

Сделано PR #33 (merge e8ae691): subject'ы OPENBAO__NATS__NATS_TABULAR_REQUEST_SUBJECT, NATS_IMAGE_REQUEST_SUBJECT, NATS_RESULT_SUBJECT и NATS_JWT/NATS_SEED (SecretStr) — секреты окружения; /healthcheck.subjects. Архив OpenSpec — PR #34. Отложенное — в follow-up issue RSHB/arm-ka-docs (Follow-ups from #80).

Сделано PR #33 (merge e8ae691): subject'ы `OPENBAO__NATS__NATS_TABULAR_REQUEST_SUBJECT`, `NATS_IMAGE_REQUEST_SUBJECT`, `NATS_RESULT_SUBJECT` и `NATS_JWT`/`NATS_SEED` (`SecretStr`) — секреты окружения; `/healthcheck.subjects`. Архив OpenSpec — PR #34. Отложенное — в follow-up issue RSHB/arm-ka-docs (Follow-ups from #80).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-scan-gateway#32
No description provided.