Моя организация использует Openshift для запуска нескольких приложений. До сих пор наша политика заключалась в том, чтобы всегда хранить конфиденциальные значения (пароли БД, ключи API и т. Д.) В переменных среды, а не как часть кодовой базы. Однако наличие нескольких проектов с экземплярами Dev, QA и Prod приводит к появлению большого количества переменных среды, которыми необходимо управлять.
Чтобы помочь с этим, я написал некоторые инструменты, чтобы мы могли отслеживать переменные в файлах YAML, а затем декларативно применять их к конфигурации развертывания Openshift. Пока эти файлы YAML находятся в репозитории git только для локальной сети на моей рабочей станции. Однако у этого есть очевидные недостатки, заключающиеся в том, что его нельзя использовать для других членов команды разработчиков. Однако обращение с ним, как и со всеми другими нашими репозиториями git, и размещение его на Gitlab или Github кажется неприемлемо рискованным.
Возможно, мы могли бы написать git-хуки для автоматического шифрования файлов GPG перед фиксацией и дешифрования после извлечения? Как лучше всего хранить конфиденциальные репозитории и делиться ими между командами?
Мы используем расшифровывать для такого рода вещей, и обнаружил, что это работает очень хорошо.
Другой вариант - использовать подходящую систему секретного хранилища, такую как HashiCorp. Свод.