Utilo

Конвертер .env

Конвертируйте переменные окружения между .env, JSON, YAML, Kubernetes Secret и ConfigMap, docker env-file и shell export. Сравнивайте два env-файла, чтобы найти недостающие, лишние и пустые переменные.

Что делает этот конвертер .env

Конфигурация постоянно перемещается между форматами: локальный файл .env становится секретом Kubernetes, конфигурация JSON становится переменной среды в CI, файл YAML питает диаграмму Helm. Этот преобразователь считывает переменные среды из .env, JSON, YAML, Kubernetes Secret или ConfigMap манифестов, файлов docker env или линий оболочки export, и записывает их в любой из этих форматов. Второй режим ** сравнивает два файла env ** и перечисляет переменные, которые отсутствуют, дополнительные, пустые или дублированные, что именно то, что вам нужно, прежде чем развертывание потерпит неудачу, потому что кто-то забыл добавить ключ к производству.

Как пользоваться

  1. В режиме Convert вставьте переменные и выберите формат ввода, или оставьте его на автоматическом обнаружении.
  2. Выберите формат вывода. Для Kubernetes установите имя ресурса; секретные значения автоматически кодируются в Base64.
  3. Копируйте или скачайте результат.
  4. В режиме Сравните вставьте свой реальный .env в A и .env.example или другую среду в B.
  5. Проверьте списки: отсутствие в 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 - разные переменные.

Частые вопросы

Мои секреты загружены?

Нет, нет, нет. Анализ и конверсия происходят в вашем браузере и ничего не хранится или не передается.

Почему дублированные ключи помечены?

Большинство загрузчиков хранит последнее значение без звука, что скрывает ошибки. Инструмент показывает дубликаты, чтобы вы могли решить, кто из них выиграет.

Может ли он читать файлы .env с многострочными значениями?

Да, внутри двойных цитат. Многострочные значения правильно записываются в каждом изображении.

Что означает "пустые значения" в режиме сравнения?

Ключи, которые существуют в вашем файле А, но не имеют значения, что обычно означает, что кто-то скопировал шаблон и забыл заполнить его.

Да. Вся обработка происходит прямо в вашем браузере с помощью JavaScript, Web Workers и веб-API. Ничего из того, что вы вводите, вставляете или загружаете, не отправляется на наши серверы.

Эта страница переведена с английского автоматически. Если вы заметили ошибку, сообщите нам.