我想设置一个配置服务器,该服务器能够使用Vault和git作为配置后端。我不太了解有关配置的信息:
spring:
application:
name: tdev-wssc-configserver
profiles:
active: git, vault
cloud:
config:
server:
git:
uri: file:///path/to/git/repo
order: 2
vault:
host: ${vault_server_host:localhost}
port: ${vault_server_port:8200}
order: 1
vault:
enabled: true
host: ${vault_server_host:localhost}
port: ${vault_server_port:8200}
scheme: ${vault_server_scheme:https}
connection-timeout: 5000
read-timeout: 15000
fail-fast: true
config:
order: -10
ssl:
trust-store: file:keystore.jks
trust-store-password: secret
我为什么需要设置spring.cloud.config.server.vault
和spring.cloud.vault
?
我真的需要同时设置两者吗?
它们之间有什么区别?
我只希望我的客户端能够直接从配置服务器获取配置,而不管是否存在保险柜。
因此,客户端只能在配置服务器上发出请求,并且配置服务器会从Vault中获取机密。
答案 0 :(得分:2)
如果您想同时使用Git和Vault的配置服务器,请使用Spring Cloud Config并在属性的spring.cloud.config.server.vault
部分中配置Vault。参见this documentation。在这种情况下,您不应该添加Spring Cloud Vault的依赖项,Spring Cloud Config已经具有Vault支持(VaultEnvironmentRepository
类)。
Spring Cloud Vault,如果您不想启动配置服务器,而只是直接从服务中从Vault获取属性,则可以使用。在这种情况下,将使用Spring Cloud Vault依赖项,并使用spring.cloud.vault
属性。
根据您的问题,您似乎希望拥有单独的配置服务器,因此您应该使用Spring Cloud Config。
此answer可能对您也有帮助。