- Шесть задач `secrets-file-*` вместо одной: outline, wakapi, authelia, gramps (средний), gitea, tududi (низкий, выигрыш частичный). Wanderer отпал — файловых секретов не умеет ни meilisearch, ни pocketbase. - Матрица механизмов со ссылками на код уехала в docs/drafts/secrets-file-support.md, родитель — на кладбище.
25 lines
1.7 KiB
Markdown
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).
|