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

35 lines
1.5 KiB
Markdown
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.
# secrets
Сертификат и приватный ключ приложения Azure AD, под которым сервис
`hr-appeals-auth` получает app-only токен. **В git не попадают** — всё
содержимое каталога, кроме этого файла, в `.gitignore`.
Положите сюда два файла (взять у администратора):
```
secrets/
SPFxDeploy_cert.pem
SPFxDeploy_key.pem
```
Имена фиксированные — их ждёт [server/src/config.ts](../server/src/config.ts).
## Подменить каталог целиком
Путь задаётся одной переменной `SECRETS_DIR`, поэтому каталог можно заменить
не трогая код:
```bash
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 продолжит принимать подпись старым ключом.