私はマイクロサービス アーキテクチャを扱っており、Spring Cloud 構成サービスと別のマイクロサービスがあります。
profiles:
active: vault
cloud:
# Configuration for a vault server running in dev mode
vault:
scheme: http
host: 127.0.0.1
port: 8200
connection-timeout: 5000
read-timeout: 15000
authentication: TOKEN
token: s.E4gdoIYAKxMvCE56MP5Etmvy
kv:
enabled: true
backend: secret
backend-version: 2
profile-separator: /
generic:
enabled: false
application-name: myapp
サーバーの依存関係を構成する
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-vault-config</artifactId>
<version>2.1.5.RELEASE</version>
</dependency>
これは、構成サービスの .yml です。次に、マイクロサービスの .yml に、Vault から解決したい db.username プロパティがありますが、解決できません。あなたはなにか考えはありますか?
username: db.username
password: secret/apm-transaction-service/dev/db.user
@Value("${db.username}")
この値は Java コードに解決されますが、.yml には解決されません。
今、私が持っているマイクロサービスごとに、マイクロサービスに変更を加えることなく、構成サービスからシークレットを解決したいと考えています。現在、構成サービスからネイティブ .yml を読み取り、もう 1 つのソースを追加したいと考えています :)
ApplicationStartupRunner 実行メソッド Started !!root