首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用弹簧云库访问保险库秘密,并在application.properties中使用

使用弹簧云库访问保险库秘密,并在application.properties中使用
EN

Stack Overflow用户
提问于 2020-01-02 10:27:25
回答 1查看 1.9K关注 0票数 4

我有一个在Openshift中托管的保险库服务器,我必须访问从vault到我的春季应用程序的秘密。我的bootstrap.yml看起来是这样的:

代码语言:javascript
复制
spring:
  application:
    name: application-name
  profiles: dev
  cloud:
    vault:
      fail-fast: true
      host: HOST
      port: 443
      scheme: https
      token: MY_TOKEN
      authentication: TOKEN
      kv:
        enabled: true
        backend: secret
        profile-separator: '/'
        application-name: application-name

我检查了保险库日志,并能够连接从弹簧申请到保险库。

我可以使用访问这个秘密。但是,我希望将秘密的值填充到application.properties中,以更新属性,如spring.datasource.username和spring.datasource.password。

有没有任何方法可以直接从application.properties访问这个秘密?

EN

回答 1

Stack Overflow用户

发布于 2020-01-08 17:15:39

TL;DR:是的,您可以在application.(properties|yml)中使用Vault属性。不建议在bootstrap.(properties.yml)中使用这些。

Spring附带了一个引导上下文,其中初始化了配置库(如Spring领事、Spring和Spring )。这些集成获取配置并将这些配置作为父PropertySource提供给应用程序。Spring在属性绑定和使用PropertySource解析属性值时考虑这些选项(您可以选择使用这些具有最高/最低优先级的Environment )。

在引导应用程序时,通常首先发生的事情之一是@ConfigurationProperties对象中的属性绑定。在加载bootstrap.(properties|yml)时,Spring集成通常还没有运行,因此此时您看不到这些库提供的属性。因此,引导上下文和实际应用程序上下文之间存在分裂。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59561774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档