我需要外部化Vault令牌和后端以在我的SpringBoot / Cloud应用程序中使用,以便可以将相同的二进制文件部署到不同的Pivotal Cloud Foundry空间。例如,我有一个.jar
,我想push
到Dev
,Test
,QA
,PROD
的空间而不必重建{ {1}}。
我还有一个.jar
和一个ConfigServer
支持的git
仓库,它可以保存信息,但只能解决外部化问题,而不能解决它。而且这会引起更多问题,特别是对象的创建顺序。
我正在努力获取User Provided Service
和vault token
之类的相关信息,以使用vault backend
中的外部设置。
我可以找到的所有示例都使用.jar
或bootstrap.properties
application.yml
,显然这是行不通的,因为它嵌入在spring:
cloud:
config:
token: YourVaultToken
中,并且是特定于环境的。
使用默认Spring Magic绑定的解决方案将不起作用,因为 我需要使用.jar
手动进行呼叫。
外部化客户端配置的最惯用方法是什么 如何连接到保险柜并使用
VaultTemplate
阅读机密信息,而无需重新构建VaultTemplate
用于每种环境。
答案 0 :(得分:1)
这是Spring Boot的配置。您可以使用环境变量(SPRING_CLOUD_CONFIG_TOKEN=xxx
)或Java系统属性(-Dspring.cloud.config.token=xxx
)。您也可以在CF上使用User Provided Services。