Files
pet-project-server/docs/backlog/secrets-file-authelia.md
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

33 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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).