снят мёртвый godotenv.Load() вместе с зависимостью
- переменных окружения наш рабочий код больше не читает нигде: ушли вызов, импорт и предупреждение на старте - у оставленной строки .env в .gitignore и у запрета forbidigo переписаны причины: прежние называли живым снесённого читателя - в документы записано, что барьеры против .env стоят без читателя, и правило парности .gitignore с .dockerignore
This commit is contained in:
@@ -336,6 +336,17 @@ Storage, оттуда его читает SpeechKit. Третий путь —
|
||||
Всё перечисленное лежит в `config.toml`. Файл в `.gitignore`, на сервер его
|
||||
кладёт Ansible; `gitleaks` на pre-commit смотрит только индекс коммита.
|
||||
|
||||
**Строки `.env` в `.gitignore` и в `.dockerignore` стоят без читателя, и снимать
|
||||
их поэтому нельзя.** Читателя сняли 2026-08-23 вместе с зависимостью
|
||||
`godotenv`: наш рабочий код окружение не читает, и файл, положенный рядом с
|
||||
бинарником, ничего не меняет. Барьеры остались против другого — против того,
|
||||
чтобы секрет завёлся в этом файле руками и уехал из него теми же двумя путями,
|
||||
какими уехал бы из конфига: в git и в контекст сборки образа. Второй барьер
|
||||
нужен отдельно от первого: `Dockerfile` копирует корень целиком (`COPY . .`), а
|
||||
`.gitignore` docker не читает — чужой `.env` лёг бы слоем образа. Инвариант,
|
||||
ради которого барьеры стоят, — «Секрет не покидает конфиг» из
|
||||
[../CLAUDE.md](../CLAUDE.md).
|
||||
|
||||
Целевой периметр добавляет к списку пять записей, и первая из них — новый вид
|
||||
секрета, которого сегодня в проекте нет вовсе:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user