Как поделиться или зашифровать конфиденциальные репозитории git

Моя организация использует Openshift для запуска нескольких приложений. До сих пор наша политика заключалась в том, чтобы всегда хранить конфиденциальные значения (пароли БД, ключи API и т. Д.) В переменных среды, а не как часть кодовой базы. Тем не менее, несколько проектов, каждый из которых имеет экземпляры Dev, QA и Prod, приводят к наличию множества переменных среды, которыми необходимо управлять.

Чтобы помочь с этим, я написал некоторые инструменты, чтобы мы могли отслеживать переменные в файлах YAML, а затем декларативно применять их к Openshift deploy-config. Пока что эти файлы YAML находятся в локальном git-репо на моей рабочей станции. Это, тем не менее, имеет очевидные недостатки, делающие его непригодным для использования другими членами команды разработчиков. Однако обращаться с ним, как со всеми нашими другими репозиториями git, и отправлять его на Gitlab или Github кажется неприемлемо рискованным.

Возможно, мы могли бы написать git-хуки для автоматического GPG-шифрования файлов перед фиксацией и дешифрования после извлечения? Каков наилучший способ хранения и совместного использования таких чувствительных репозиториев среди команд?

1 ответ

Решение

Мы используем transcrypt для такого рода вещей и считаем, что он работает очень хорошо.

Другой вариант - использовать подходящую систему секретных хранилищ, такую ​​как Хранилище HashiCorp.

Другие вопросы по тегам