CLI envmaster
Тонкая обёртка над SDK: та же расшифровка на клиенте, те же гарантии.
envmaster login --url <url> --client-id <id> --client-secret <secret>
envmaster export --project <slug> --env <slug> [--file out.env]
envmaster run --project <slug> --env <slug> [--mask] -- <cmd...>
envmaster validate --project <slug> --env <slug> [--schema env.schema.yml]
envmaster import [file] --project <slug> --env <slug> [--dry-run]
Откуда берутся креды
По убыванию приоритета: флаги → переменные ENVMASTER_* → ~/.envmaster/config.json
(его пишет envmaster login, права 0600). В конфиге лежат машинные креды, а
не значения записей: секреты на диск не попадают ни на одном шаге.
run вместо export
export пишет файл, run передаёт значения дочернему процессу — и ничего не
оставляет на диске:
envmaster run --project billing-api --env production --mask -- ./deploy.sh
С --mask вывод дочернего процесса фильтруется построчно, код возврата
проксируется.
import для переезда
ENVMASTER_TOKEN=<токен из кабинета> \
envmaster import .env --project billing-api --env production --dry-run
Ключи вида *PASSWORD*, *TOKEN*, *SECRET*, *KEY* становятся секретами,
остальные — переменными; --all-secrets переключает всё в секреты.
Существующие ключи пропускаются, пока не передан --overwrite.
Команда пишет, поэтому требует пользовательский токен, а не машинные креды — те read-only по дизайну.