Мне нужно внедрить токен 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
.
Каков наиболее идиоматический способ внедрить конфигурацию клиента, как подключиться к Убежищу и прочитать секреты с помощью
VaultTemplate
, где мне не нужно перестраивать.jar
для каждой среды.