# Никаких секретов в выводе плейбуков: защита от дрейфа **Приоритет:** средний `inv pl` всегда запускает `ansible-playbook --diff`, поэтому любая задача `template`/`copy`, чей целевой файл содержит переменную vault, печатает значение в терминал. Скроллбек терминала, мультиплексор, лог CI, транскрипт агента — всё это места, куда расшифрованному значению попадать не должно, и куда оно попадает бесплатно. Сплошная простановка `no_log: true` сделана (коммит `b7b1f49`, 2026-07-25): все задачи-рендеры файлов с секретами закрыты, сегодня `no_log` стоит в четырнадцати плейбуках и в `roles/secrets`. Осталось то, ради чего задача и заводилась в категории «держится проверкой, а не вниманием»: сейчас правило живёт только во внимании, и следующее приложение заведут по образцу без `no_log`. ## Что осталось 1. **Проверка в lefthook или CI**: если шаблон ссылается на переменную, которой нет в открытых `group_vars`/`vars`, задача, которая его рендерит, обязана иметь `no_log`. 2. **Убрать единственное исключение из правила.** Compose miniflux сознательно оставлен без `no_log` — он тянет из vault только `miniflux_postgres_user` и `miniflux_postgres_database`, а это имя пользователя и имя базы, не секреты. Чище не заводить исключение в проверке, а перенести обе переменные из vault в `group_vars/all/main.yml`. Правка в зашифрованном файле, поэтому за пользователем. Попутно стоит выяснить, почему молчит правило `no-log-password` в ansible-lint: похоже, оно смотрит на список модулей с параметром `password`, а не на содержимое шаблонов — тогда на него в этой задаче полагаться нельзя. ## Что сюда больше не входит Возврат читаемого диффа там, где файл смешанный (compose, конфиг authelia) — это вынос секретов в отдельные файлы, и он живёт отдельной серией задач `secrets-file-*`, по одной на приложение. Матрица возможностей приложений — в [справке](../drafts/secrets-file-support.md). Связано: lefthook.yml, tasks.py (`inv pl`), roles/secrets (образец), playbook-miniflux.yml, [vault-password-storage](vault-password-storage.md), [narrow-secret-scopes](narrow-secret-scopes.md).