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

25 lines
1.7 KiB
Markdown

# 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`.
Механизм и ссылки на код: [справка по файловым секретам](../drafts/secrets-file-support.md).
Из декомпозиции `secrets-env-to-file` (2026-07-25).
Связано: files/outline, files/miniflux (образец), roles/secrets,
[no-secrets-in-playbook-output](no-secrets-in-playbook-output.md).