Я пытаюсь использовать Spring Cloud Config Server для предоставления конфигурации для всех служб моего приложения. Большинство свойств находятся в репозитории конфигурации GitHub, но мне нужно получить конфиденциальные свойства (например, соединение с базой данных, имя пользователя и пароль) из AWS хранилища параметров.
Когда мои службы запускаются и получают их свойства из сервер конфигурации, они не получают URI MongoDb. Я могу видеть URI в конечной точке привода / env сервера конфигурации.
http://localhost: 8888 / привод / env
...
{
"name": "bootstrapProperties-/config/application_dev/",
"properties": {
"spring.data.mongodb.uri": {
"value": "mongodb://{username}:******@{host}:27017"
}
}
},
...
http://localhost: 8888 / {my-service-name} / dev
...
{
"name": "https://github.com/my-org/my-app-config.git/application-dev.yml",
"source": {
"spring.data.mongodb.database": "{database name}"
}
},
// Missing spring.data.mongodb.uri property from AWS Parameter Store
...
build.grade для сервера конфигурации:
...
implementation 'org.springframework.cloud:spring-cloud-config-server'
implementation 'org.springframework.cloud:spring-cloud-starter-aws-parameter-store-config'
...
bootstrap .yml для сервера конфигурации:
spring:
application:
name: my-app-config-server
cloud:
config:
server:
bootstrap: true
git:
uri: https://github.com/my-org/my-app-config.git
Мой сервер конфигурации не имеет других файлов свойств.
application-dev.yml из my-app-config. git repo:
spring:
data:
mongodb:
database: {database name}
(Мои сервисы застрял, используя одну и ту же базу данных для каждой среды на данный момент.)
/ config / application_dev / spring.data.mongodb.uri AWS Параметр
mongodb://{user}:{password}@{dev database host}:27017