diff --git a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/DiscoveryClientVaultBootstrapConfiguration.java b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/DiscoveryClientVaultBootstrapConfiguration.java index caa1b283..4ff045a2 100644 --- a/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/DiscoveryClientVaultBootstrapConfiguration.java +++ b/spring-cloud-vault-config/src/main/java/org/springframework/cloud/vault/config/DiscoveryClientVaultBootstrapConfiguration.java @@ -24,7 +24,6 @@ import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.commons.util.UtilAutoConfiguration; -import org.springframework.cloud.vault.config.DiscoveryClientVaultBootstrapConfiguration.DiscoveryBootstrapConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -46,55 +45,52 @@ import org.springframework.vault.client.VaultEndpointProvider; @EnableConfigurationProperties(VaultProperties.class) @Order(Ordered.LOWEST_PRECEDENCE - 2) @EnableDiscoveryClient -@Import({ UtilAutoConfiguration.class, DiscoveryBootstrapConfiguration.class }) +@Import(UtilAutoConfiguration.class) public class DiscoveryClientVaultBootstrapConfiguration { - @ConditionalOnProperty(name = "spring.cloud.vault.enabled", matchIfMissing = true) - @Configuration - static class DiscoveryBootstrapConfiguration { + private final VaultProperties vaultProperties; - private final VaultProperties vaultProperties; - - public DiscoveryBootstrapConfiguration(VaultProperties vaultProperties) { - this.vaultProperties = vaultProperties; - } - - @Bean - @ConditionalOnMissingBean - public VaultServiceInstanceProvider vaultServerInstanceProvider( - DiscoveryClient discoveryClient) { - return new DiscoveryClientVaultServiceInstanceProvider(discoveryClient); - } + public DiscoveryClientVaultBootstrapConfiguration(VaultProperties vaultProperties) { + this.vaultProperties = vaultProperties; + } @Bean @ConditionalOnMissingBean + @ConditionalOnProperty(name = "spring.cloud.vault.enabled", matchIfMissing = true) + public VaultServiceInstanceProvider vaultServerInstanceProvider( + DiscoveryClient discoveryClient) { + return new DiscoveryClientVaultServiceInstanceProvider(discoveryClient); + } + + @Bean + @ConditionalOnMissingBean + @ConditionalOnProperty(name = "spring.cloud.vault.enabled", matchIfMissing = true) public VaultEndpointProvider vaultEndpointProvider( VaultServiceInstanceProvider instanceProvider) { - final String serviceId = this.vaultProperties.getDiscovery().getServiceId(); + final String serviceId = this.vaultProperties.getDiscovery().getServiceId(); - final String fallbackScheme; + final String fallbackScheme; - if (StringUtils.hasText(this.vaultProperties.getUri())) { - fallbackScheme = URI.create(this.vaultProperties.getUri()).getScheme(); - } - else { - fallbackScheme = this.vaultProperties.getScheme(); - } - - ServiceInstance server = instanceProvider.getVaultServerInstance(serviceId); - - final VaultEndpoint vaultEndpoint = VaultEndpoint.create(server.getHost(), - server.getPort()); - - if (server.getMetadata().containsKey("scheme")) { - vaultEndpoint.setScheme(server.getMetadata().get("scheme")); - } - else { - vaultEndpoint.setScheme(server.isSecure() ? "https" : fallbackScheme); - } - - return () -> vaultEndpoint; + if (StringUtils.hasText(this.vaultProperties.getUri())) { + fallbackScheme = URI.create(this.vaultProperties.getUri()).getScheme(); } + else { + fallbackScheme = this.vaultProperties.getScheme(); + } + + ServiceInstance server = instanceProvider.getVaultServerInstance(serviceId); + + final VaultEndpoint vaultEndpoint = VaultEndpoint.create(server.getHost(), + server.getPort()); + + if (server.getMetadata().containsKey("scheme")) { + vaultEndpoint.setScheme(server.getMetadata().get("scheme")); + } + else { + vaultEndpoint.setScheme(server.isSecure() ? "https" : fallbackScheme); + } + + return () -> vaultEndpoint; } }