Files
pet-project-server/docs/backlog/secrets-file-gramps.md
T
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

1.8 KiB
Raw Blame History

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 не показывает секретный ключ приложения.

Механизм и ссылки на код: справка по файловым секретам. Из декомпозиции secrets-env-to-file (2026-07-25).

Связано: files/gramps, roles/secrets, no-secrets-in-playbook-output.