The idea is to make spring-vault use feign client (to take advantage of hystrix's fault tolerance capabilities).
- Does spring-vault support feign client? or is there a work around if not supported out of the box
- Or is there away to route spring-vault calls through feign client (sort of a proxy mode).
Following code snippet is an example for spring-vault config ; VaultTemplate bean is used for the vault operations
public VaultEndpoint vaultEndpoint() {
try {
return VaultEndpoint.from(new URI(vaultUri));
} catch (URISyntaxException uriSyntaxException) {
throw new IllegalStateException("Some Exception", uriSyntaxException);
}
}
@Bean
public VaultTemplate vaultTemplate() {
return new VaultTemplate(vaultEndpoint(), httpRequestFactory(), sessionManager());
}
@Bean
public VaultTransitOperations vaultTransitOperations() {
return vaultTemplate().opsForTransit(transitPath);
}
@Bean
public ClientHttpRequestFactory httpRequestFactory() {
ClientOptions clientOptions = new ClientOptions(1000, 1000);
return ClientHttpRequestFactoryFactory.create(clientOptions, SslConfiguration.NONE);
}
@Bean
public RestOperations vaultClient() {
return VaultClients.createRestTemplate(vaultEndpoint(), httpRequestFactory());
}