【问题标题】:Externalize Vault token/backend configuration for SpringBoot application on Pivotal Cloud Foundry在 Pivotal Cloud Foundry 上为 Spring Boot 应用程序外部化 Vault 令牌/后端配置
【发布时间】:2019-06-24 04:53:28
【问题描述】:

我需要外部化 Vault 令牌和后端以在我的 SpringBoot/Cloud 应用程序中使用,以便可以将相同的二进制文件部署到不同的 Pivotal Cloud Foundry 空间。例如我有一个.jar 我想pushDevTestQAPROD 空间而不必重建.jar

我还有一个由git 回购支持的ConfigServer 和一个User Provided Service,它们可以保存信息,但只是移动了外部化问题,并没有解决它。而且它会导致更多问题,特别是创建对象的顺序。

我正在努力获取 vault tokenvault backend 等相关信息,以使用来自 .jar 的外部化设置。

我能找到的所有示例都使用bootstrap.propertiesapplication.yml

spring:
  cloud:
    config:
      token: YourVaultToken

这显然行不通,因为它嵌入在 .jar 中并且是特定于环境的。

使用默认 Spring 魔术绑定的解决方案将不起作用,因为 我需要使用 VaultTemplate 手动进行调用。

外化客户端配置最惯用的方法是什么 如何连接到 Vault 并使用 VaultTemplate 阅读秘密,我不必重建 .jar 用于每个环境。

【问题讨论】:

    标签: java spring-boot spring-cloud cloud-foundry spring-vault


    【解决方案1】:

    这是spring boot的配置。您可以使用环境变量 (SPRING_CLOUD_CONFIG_TOKEN=xxx) 或 java 系统属性 (-Dspring.cloud.config.token=xxx)。你也可以在 CF 上使用User Provided Services

    【讨论】:

    • 这些建议都不能解决手动连接到保管库服务的问题。只是在ENV 中设置该令牌不允许我连接到保险库,还有其他必须设置的东西,backenduri 等。我已经尝试了这两个和两个 解决方案 在对象创建顺序方面存在缺陷。 无论哪种方式,这都不是真正的答案,而更像是评论。
    • 不,不能手动使用VaultTemplate。它只适用于自动魔法属性绑定,这对我的场景来说是不够的。
    • 抱歉,您似乎询问了如何将令牌外部化。也许您可以在问题中解释您要做什么。你没有在那里提到VaultTemplate
    猜你喜欢
    • 2018-06-09
    • 2015-03-28
    • 2021-12-16
    • 1970-01-01
    • 2018-09-06
    • 2020-03-24
    • 2018-09-16
    • 2016-10-05
    • 1970-01-01
    相关资源
    最近更新 更多