.env, без боли.
envbox — CLI-инструмент для проверки, синхронизации и безопасного управления
.env
и .env.example.
Сейчас в разработке — ниже план и черновик того, как это будет выглядеть.
черновик вывода — команды ещё не реализованы, финальный формат может измениться
С `.env` всё отлично.
С синхронизацией — хаос.
Добавил переменную в `.env`, забыл обновить `.env.example` — и следующий разработчик тратит час на понимание, почему приложение падает после `git pull`. Именно этот сценарий envbox должен закрыть.
DATABASE_URL=postgres://user:pass@localhost:5432/db
BOT_TOKEN=712398412:AAH...
PORT=3000
S3_BUCKET=my-production-bucket
DATABASE_URL=
BOT_TOKEN=
PORT=
# S3_BUCKET забыли добавить в шаблон!
Один инструмент
для всех сценариев.
Ничего из этого ещё не реализовано — так задуман первый релиз.
check
Будет сравнивать `.env` и `.env.example` и подсвечивать расхождения. Задуман для pre-commit хуков и CI с кодами возврата 0/1.
sync
Будет добавлять новые ключи в `.env.example` с пустыми значениями, не затирая комментарии и порядок.
manage
Команды get, set, unset и безопасный list с маскированием токенов.
scan
Будет искать забытые секреты и токены в коде проекта перед отправкой в git.
Правила — в
envbox.toml
Файл конфигурации коммитится в репозиторий. Он не содержит секретов — только правила валидации для команды и CI.
- Обязательные переменные для `check`
- Пути, которые `scan` должен игнорировать
- Работает без настройки «из коробки»
формат черновой, может измениться до первого релиза
[required]
DATABASE_URL = true
BOT_TOKEN = true
PORT = true
REDIS_URL = true
[scan]
ignore_paths = [".git", "dist", "vendor", "node_modules"]
Ещё не релиз. Вот план.
envbox только начинают строить. Ниже — этапы до первой версии, в порядке разработки.
-
1
Foundation
в работеКаркас CLI и парсер `.env` / `.env.example`.
-
2
Core validation
план`check`, `sync` и `envbox.toml`.
-
3
Variable management
план`get`, `set`, `unset`, `list`.
-
4
Security scan
план`scan` — поиск случайно закоммиченных секретов.
-
5
Release readiness
планДокументация и первый публичный релиз.
Инструментов установки пока нет — устанавливать нечего. Если хотите узнать о релизе первым, следите за репозиторием.
Открыть репозиторий на GitLab