В идеале вы должны быть настройки вашего приложения, поставив вашу конфиденциальную информацию или конфигурируемые данные внутри Переменные среды, а не управление несколькими файлами. См двенадцать правила фактора на конфигурации: http://12factor.net/config
Чтобы включить этот подход в Dropwizard, вы можете переопределить конфигурации с помощью переменной среды во время выполнения с помощью -Ddw
флага:
java -Ddw.http.port=$PORT -jar yourapp.jar server yourconfig.yml
или вы можете использовать эту удобную надстройку на: https://github.com/tkrille/dropwizard-template-config поставить переменной окружения заполнителей внутри вашей конфигурации:
server:
type: simple
connector:
type: http
# replacing environment variables
port: ${env.PORT}
Оба вышеуказанных решений совместимы с Heroku и Докер контейнеров, где окружающая среда Переменная доступна только при запуске приложения.
Это будет работать только для пользовательских конфигураций. Но если они хотят сказать «конфигурацию сервера», которая повлияет на сам dropwizard, это не сработает. Например, может потребоваться обфускация пароля секретного ключа сертификата https. – Natan