Когда следует 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), необходимые для доступа к облачной конфигурации из ваших приложений.