我需要外部化Vault令牌和后端以在我的SpringBoot / Cloud应用程序中使用,以便可以将相同的二进制文件部署到不同的Pivotal Cloud Foundry空间。例如,我有一个.jar
我想push
到Dev
,Test
,QA
,PROD
空间,而不必重建.jar
。
我还有一个ConfigServer
支持git
回购以及User Provided Service
,它可以保存信息,但这只是移动外部化问题,它没有解决它。它会导致更多问题,特别是创建对象的顺序。
我正在努力获得像vault token
和vault backend
这样的相关信息来使用.jar
的外化设置。
我能找到的所有例子都使用bootstrap.properties
或application.yml
spring:
cloud:
config:
token: YourVaultToken
这显然是行不通的,因为它嵌入在.jar
中,并且是特定于环境的。
使用默认Spring魔法绑定的解决方案将无法工作,因为我需要使用VaultTemplate
手动进行调用。
什么是外部化客户端配置如何连接到Vault并使用
VaultTemplate
读取秘密的最惯用的方法是什么,我不需要为每个环境重建.jar
。
这是春季靴子的配置。您可以使用环境变量(SPRING_CLOUD_CONFIG_TOKEN=xxx
)或java系统属性(-Dspring.cloud.config.token=xxx
)。你也可以在CF上使用User Provided Services。