Я использую spring-cloud-config
в своем проекте Spring Boot и не понимаю, как интерполировать переменные среды.
Например, у меня есть переменная MYSQL_PASSWORD
, установленная в config server
(как переменная среды), и я хочу получить ее от других клиентов, не переопределяя переменную внутри них всех. Это моя конфигурация:
service.yml (в config-сервере)
spring:
datasource:
url: jdbc:mysql://mysql:3306/${MYSQL_DATABASE}?autoReconnect=true&useSSL=false
username: ${MYSQL_USER}
password: ${MYSQL_PASSWORD}
bootstrap.yml (в клиент)
spring:
application:
name: event-service
cloud:
config:
uri: http://config-service:8888
fail-fast: true
Если я запускаю свои службы с этой конфигурацией, заполнитель ${MYSQL_***}
не интерполируется, и я, очевидно, не могу подключиться к базе данных.
Что мне нужно сделать, чтобы заставить его работать, так это определить переменные среды, такие как MYSQL_***
, также в клиенте.
Это странно для меня, так как я хочу, чтобы config-server был центральным хранилищем для всего. Есть ли у вас какие-либо рекомендации?