0

我正在使用微服务架构并拥有 spring 云配置服务和另一个微服务。

  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 ,我有 db.username 属性,我想从 Vault 中解析它,但我不能。你有什么想法?

username: db.username
password: secret/apm-transaction-service/dev/db.user

@Value("${db.username}")

此值被解析为 java 代码,但不解析为 .yml

现在对于我拥有的每个微服务,我想从配置服务中解析秘密,而不对微服务进行任何更改。目前正在从配置服务中读取本机 .ymls 并希望再添加一个源 :)

ApplicationStartupRunner 运行方法 Started !!root

4

1 回答 1

0

如果您使用的是 spring-boot,要解析 .yml 文件中的值,它必须是一个变量。您必须在 yaml 文件中使用 ${db.username}

于 2020-04-09T15:02:44.223 回答