Когда следует 12-факторное правило, где я могу хранить конфиги?

Вот ссылка 12 фактор

Я в замешательстве, если мне нужно хранить значения в моем файле app.properties и переменной окружения.

App.properties

Memory_Folder_Test = Test
Memory_Folder_Prod = Production
Memory_Folder_Dev = Development

Strong_threshold = 10
Low_Threshold = 2

Username = FirstUser
Password = PasswordSecret

Теоретически, где я должен поместить эти значения? application.properties или как переменные окружения? Если я не прочитал неправильно, цель 12 фактора состоит в том, чтобы убрать помещение значений в файл свойств и вывести его на экран.

3 ответа

Вы можете хранить значения в application.properties Файл, однако, Spring позволяет переопределить эти значения с помощью переменных среды. Следовательно, он соответствует 12 факторам.

Я предпочитаю хранить переменные окружения в файлах, шифровать файлы и проверять зашифрованные файлы в git через черный ящик: https://github.com/StackExchange/blackbox

Blackbox будет обрабатывать шифрование / дешифрование, так что это затруднит проверку незашифрованных кредитов в вашем репо. Также, как работает openpgp, вы можете включить команды разработчиков для шифрования / дешифрования файлов.

Этот проект поддерживается StackExchange (он же ребята, которые управляют этим сайтом). Требуется некоторое время, чтобы выяснить openpgp/gpg (от которого зависит черный ящик), но оно того стоило для меня. Я использую в Linux, а также в Windows (через подсистему Linux Linux).

Вы храните свойства извне, используя что-то вроде весеннего облачного конфига. Затем вы используете свойства среды, чтобы определить конфигурации (например, URL), необходимые для доступа к облачной конфигурации из ваших приложений.

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