Files
hr-appeals/secrets/README.md
T
gorbenko.pavel f1caa62f28
Tests / frontend-test (pull_request) Successful in 3m14s
refactor: сертификат и ключ в каталоге secrets/, один параметр на каталог
Локально путь к сертификату вёл в ~/Downloads у каждого свой, а в контейнере
задавался двумя отдельными переменными. Теперь каталог один и подменяется
целиком через SECRETS_DIR: по умолчанию secrets/ в корне репозитория, в
контейнере /certs (смонтированный каталог с хоста, GRAPH_CERT_DIR не меняется).

Имена файлов внутри фиксированы, поэтому GRAPH_CERT_PATH и GRAPH_KEY_PATH
больше не нужны. Содержимое secrets/ в .gitignore, кроме README.

Отсутствие файлов теперь даёт понятную ошибку вместо ENOENT — на свежем
клоне это основной сценарий отказа.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 13:34:37 +05:00

1.5 KiB
Raw Blame History

secrets

Сертификат и приватный ключ приложения Azure AD, под которым сервис hr-appeals-auth получает app-only токен. В git не попадают — всё содержимое каталога, кроме этого файла, в .gitignore.

Положите сюда два файла (взять у администратора):

secrets/
  SPFxDeploy_cert.pem
  SPFxDeploy_key.pem

Имена фиксированные — их ждёт server/src/config.ts.

Подменить каталог целиком

Путь задаётся одной переменной SECRETS_DIR, поэтому каталог можно заменить не трогая код:

SECRETS_DIR=/path/to/other/secrets npm run dev --prefix server

По умолчанию — этот каталог. В продовом контейнере SECRETS_DIR=/certs, куда смонтирован каталог с хоста: путь на хосте задаёт GRAPH_CERT_DIR в .env рядом с docker-compose.yml на сервере.

Если ключ утёк

Сертификат перевыпускается в Azure AD (App registrations → нужное приложение → Certificates & secrets), старый оттуда удаляется. Замена файлов здесь без этого ничего не даёт: Azure AD продолжит принимать подпись старым ключом.