f1caa62f28
Tests / frontend-test (pull_request) Successful in 3m14s
Локально путь к сертификату вёл в ~/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>
35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# 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 продолжит принимать подпись старым ключом.
|