Несколько соединений Vault с Spring Vault
Я использую Spring Vault и мне нужно подключиться к двум серверам Vault, один для секретов, а другой для транзитных операций. (В моем кластере намного больше транзитных операций.) Как настроить Spring Vault (также использующий Spring Cloud Vault) для этой конфигурации?
1 ответ
Решение
У вас есть два варианта:
- Используйте выделенный
VaultTemplate
статически сконфигурированные объекты, указывающие каждый на конечную точку Vault, которая предназначена для конкретного варианта использования. - Реализовать маршрутизацию
VaultEndpointProvider
наряду с дискриминатором (например,ThreadLocal
имя хоста). Каждый раз, когда вы намереваетесь вызвать действие, вы устанавливаете дискриминатор, который впоследствии оценивается вашимVaultEndpointProvider
вернуть соответствующую конечную точку для вашего звонка.
Spring Vault использует подключаемую модель клиента, а в следующей версии вы сможете контролировать RestTemplate
создание и зацепить UriTemplateHandler
который будет соответствующим классом для расширения.