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