Files
av fbd0a66f44 backlog: secrets-env-to-file разложена по приложениям
- Шесть задач `secrets-file-*` вместо одной: outline, wakapi, authelia,
  gramps (средний), gitea, tududi (низкий, выигрыш частичный). Wanderer
  отпал — файловых секретов не умеет ни meilisearch, ни pocketbase.
- Матрица механизмов со ссылками на код уехала в
  docs/drafts/secrets-file-support.md, родитель — на кладбище.
2026-07-25 12:25:50 +03:00

27 lines
1.8 KiB
Markdown
Raw Permalink 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.
# gramps: секретный ключ из файла
**Приоритет:** Средний
`GRAMPSWEB_SECRET_KEY` стоит прямым значением в `environment:`. Если переменную
не задавать, entrypoint образа читает ключ из файла `/app/secret/secret` — и этот
путь **уже смонтирован** в нашем compose как `gramps_secret`. То есть правка
сводится к «записать значение в файл и убрать переменную»: самая дешёвая из всей
серии. Entrypoint общий у `gramps_app` и `gramps_celery`, оба читают тот же файл,
расхождения не будет.
Пароль SMTP так не выносится: конфиг читается через `from_prefixed_env`, никакой
обработки `_FILE` нет. Обходной путь существует (Flask исполняет `config.cfg` как
Python, значит значение можно прочитать из файла прямо в нём), но он держится на
детали реализации и нигде не обещан — брать только если решим, что оно того
стоит. Пока пароль SMTP остаётся в env и закрывается `no_log`.
Готово, когда `docker inspect` контейнеров gramps не показывает секретный ключ
приложения.
Механизм и ссылки на код:
[справка по файловым секретам](../drafts/secrets-file-support.md).
Из декомпозиции `secrets-env-to-file` (2026-07-25).
Связано: files/gramps, roles/secrets,
[no-secrets-in-playbook-output](no-secrets-in-playbook-output.md).