снят мёртвый godotenv.Load() вместе с зависимостью

- переменных окружения наш рабочий код больше не читает нигде: ушли вызов, импорт и предупреждение на старте
- у оставленной строки .env в .gitignore и у запрета forbidigo переписаны причины: прежние называли живым снесённого читателя
- в документы записано, что барьеры против .env стоят без читателя, и правило парности .gitignore с .dockerignore
This commit is contained in:
av
2026-08-23 21:06:30 +03:00
parent 1385dd3f5d
commit b01bdabc37
7 changed files with 31 additions and 17 deletions
+11
View File
@@ -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).
Целевой периметр добавляет к списку пять записей, и первая из них — новый вид
секрета, которого сегодня в проекте нет вовсе: