Что делает этот конвертер .env
Конфигурация постоянно перемещается между форматами: локальный файл .env становится секретом Kubernetes, конфигурация JSON становится переменной среды в CI, файл YAML питает диаграмму Helm. Этот преобразователь считывает переменные среды из .env, JSON, YAML, Kubernetes Secret или ConfigMap манифестов, файлов docker env или линий оболочки export, и записывает их в любой из этих форматов. Второй режим ** сравнивает два файла env ** и перечисляет переменные, которые отсутствуют, дополнительные, пустые или дублированные, что именно то, что вам нужно, прежде чем развертывание потерпит неудачу, потому что кто-то забыл добавить ключ к производству.
Как пользоваться
- В режиме Convert вставьте переменные и выберите формат ввода, или оставьте его на автоматическом обнаружении.
- Выберите формат вывода. Для Kubernetes установите имя ресурса; секретные значения автоматически кодируются в Base64.
- Копируйте или скачайте результат.
- В режиме Сравните вставьте свой реальный
.envв A и.env.exampleили другую среду в B. - Проверьте списки: отсутствие в A, дополнительные в A, пустые значения и дублированные ключи.
Подробная информация о формате
- .env: поддерживает комментарии, префиксы
export, одно- и двойные котировки, ускользающие новые строки в двойных котировках и комментарии в строке после некотируемых значений. - JSON / YAML: плоский объект ключей к значениям. Вложенные объекты сглаживаются с
__(например,DB__HOST) и числа или булевы становятся строками. - Kubernetes Secret: использует
dataс значениями Base64; также понимаются входящие манифесты сstringData. - ConfigMap: простые значения строки в
data. - ** Docker env-file:**
KEY=valueбез обработки котировок, точно так, как читаетdocker run --env-file. - Оболочка: Линии
export KEY='value'с безопасным выходом из цитаты, готовы кsource.
Советы
- Base64 - это кодирование, а не шифрование. Любой, кто может читать манифест секрета Kubernetes, может читать его значения; используйте Sealled Secrets, SOPS или внешний секретный менеджер для git.
- Храните
.env.exampleв режиме управления версиями с пустыми значениями и используйте режим сравнения при обзоре кода. - Ключи на Linux чувствительны к большим и малым буквам;
Api_KeyиAPI_KEY- разные переменные.