backlog: secrets-env-to-file разложена по приложениям
- Шесть задач `secrets-file-*` вместо одной: outline, wakapi, authelia, gramps (средний), gitea, tududi (низкий, выигрыш частичный). Wanderer отпал — файловых секретов не умеет ни meilisearch, ни pocketbase. - Матрица механизмов со ссылками на код уехала в docs/drafts/secrets-file-support.md, родитель — на кладбище.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# authelia: секреты из файлов
|
||||
|
||||
**Приоритет:** Средний
|
||||
|
||||
В `configuration.template.yml` прямыми значениями стоят семь позиций:
|
||||
jwt-секрет валидации, секрет сессий, ключ шифрования хранилища, hmac-секрет OIDC,
|
||||
приватный jwks-ключ, четыре `client_secret` и пароль SMTP. Файл на тысячу строк —
|
||||
дифф по нему самый ценный в репозитории, и именно его сейчас приходится глушить
|
||||
целиком.
|
||||
|
||||
Пять полей закрываются переменными `AUTHELIA_..._FILE`. Оставшиеся два —
|
||||
`jwks[].key` и `client_secret` клиентов — через `_FILE` невозможны в принципе:
|
||||
валидатор отвергает ключи, содержащие `[]`. Их покрывает template-фильтр
|
||||
(`X_AUTHELIA_CONFIG_FILTERS=template` + `{{ secret "путь" }}`). Механизмы
|
||||
несовместимы в одном поле, поэтому проще выбрать фильтр — он берёт все семь
|
||||
позиций разом, `_FILE` только пять.
|
||||
|
||||
Отдельная и более дешёвая половина задачи: четыре `client_secret` штатно хранятся
|
||||
**хэшем** `$pbkdf2-sha512$...` — плейнтекст с 4.38 вызывает warning валидатора и
|
||||
нужен только при `client_secret_jwt`, чего у наших клиентов нет. После перевода
|
||||
эти поля перестают быть секретами вообще. Генератор уже есть —
|
||||
`inv authelia-gen-secret-and-hash`, проверка — `inv authelia-validate-config`.
|
||||
|
||||
Готово, когда в отрендеренном конфиге не осталось секретов открытым текстом и
|
||||
`no_log` с задачи снят — дифф конфига снова читаем.
|
||||
|
||||
Разбор по каждому полю, версии и ссылки на код:
|
||||
[справка по файловым секретам](../drafts/secrets-file-support.md).
|
||||
Из декомпозиции `secrets-env-to-file` (2026-07-25).
|
||||
|
||||
Связано: files/authelia, tasks.py (`authelia-*`), roles/secrets,
|
||||
[no-secrets-in-playbook-output](no-secrets-in-playbook-output.md).
|
||||
Reference in New Issue
Block a user