我有一个 Spring Boot 应用程序,我想根据我正在运行的配置文件从 Vault 加载配置。目前我有 2 个配置文件(开发、产品)。我的 Dev Profile 使用 H2 数据库,而 Prod Profile 使用 Posgres DB。运行开发配置文件会从 Vault 加载正确的配置,但使用 Prod 配置文件运行似乎会以某种方式跳过它,而不是查看 Vault。
引导程序.yaml
spring:
application:
name: my-app
profiles:
active:
cloud:
vault:
host: localhost
port: 8200
scheme: http
uri: http://localhost:8200
connection-timeout: 5000
read-timeout: 15000
authentication: TOKEN
token: 00000000-0000-0000-0000-000000000000
kv:
enabled: true
backend: secret
default-context: my-app/dev
fail-fast: false
引导-prod.yaml
spring:
application:
name: gateway
profiles:
active: prod
cloud:
vault:
host: localhost
port: 8200
scheme: http
uri: http://localhost:8200
connection-timeout: 5000
read-timeout: 15000
authentication: TOKEN
token: 00000000-0000-0000-0000-000000000000
kv:
enabled: true
backend: secret
default-context: my-app/dev
fail-fast: false
例如,运行该命令gradle
将从 Vault 加载配置。但运行gradle -Pprod
无法从 Vault 加载正确的配置。