Files
pet-project-server/docs/backlog/secrets-file-outline.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.7 KiB

outline: секреты из файлов

Приоритет: Средний

Сейчас в environment: стоят прямыми значениями пароль postgres (внутри DATABASE_URL), SECRET_KEY, UTILS_SECRET, секрет OIDC и пароль SMTP. Outline 1.9.2 умеет generic-механизм: пустая переменная читается из <NAME>_FILE, поэтому все пять закрываются по образцу miniflux — роль secrets + монтирование каталога :ro.

Отдельный шаг внутри задачи — пароль БД: DATABASE_URL_FILE выносит весь URL одним куском, и чтобы вынести именно пароль, нужен переход на раздельные DATABASE_HOST/PORT/NAME/USER (они взаимоисключимы с DATABASE_URL). Заодно сайдкар postgres переводится на штатный POSTGRES_PASSWORD_FILE.

Готово, когда docker inspect контейнеров outline и его postgres не показывает ни одного секрета, а в compose-шаблоне не осталось jinja-переменных с секретами — и, как следствие, дифф этого шаблона снова можно смотреть без no_log.

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

Связано: files/outline, files/miniflux (образец), roles/secrets, no-secrets-in-playbook-output.