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