- беклог и план переехали в docs/tasks (38 задач, 11 целей), слаги переименованы с транслита на английские, 85 ссылок поправлены - conventions.md разобран в docs/conventions/, local-research.md — в docs/research/, review-journal.md — в docs/review.md с разделом настройки конвейера; заведены security.md, adr/ и .pm.json - шаг docs.py check добавлен в task gate; поведение в architecture.md помечено девятью маркерами долга, database.md получил настройки с числовым значением
16 lines
1.4 KiB
Markdown
16 lines
1.4 KiB
Markdown
# Конфигурация
|
|
|
|
- Только **TOML**, никаких env-переменных: окружение наследуется дочерними
|
|
процессами и видно через `/proc/<pid>/environ` — для токенов это слабее
|
|
файла под `0600`.
|
|
- Грузим один раз при старте в типизированную `Config`; дальше по коду читаем
|
|
только её. Конфиг неизменяем — смена параметров означает рестарт.
|
|
- Имя по умолчанию — `config.toml` в рабочей директории, переопределяется
|
|
`--config=path`.
|
|
- `config.example.toml` коммитим как единый самодокументируемый справочник:
|
|
**каждое поле с комментарием**, из которого ясно зачем оно, каков диапазон
|
|
допустимых значений и в каких единицах. Секретные поля — пустые.
|
|
- Реальный `config.toml` не коммитится; секреты рендерит деплой.
|
|
- **Валидация на старте, до приёма трафика.** Невалидный конфиг — `ERROR` и
|
|
выход с ненулевым кодом. Не стартуем «наполовину».
|