Spring 没有 YAML 文件的 Cloud Vault 配置
Spring Cloud Vault Configuration without YAML file
我在 bootstrap.yml
文件
中提到了 Spring Cloud Vault 配置
spring:
cloud:
vault:
authentication: APPROLE
app-role:
role-id: *****
secret-id: ****
host: ****
port: 80
scheme: http
但我不想在我的 YML 文件中包含这些,而是我希望将它们配置为一个 bean
@configuration / @bean
请帮忙。谢谢
我能够通过配置 VaultProperties
类型的 Bean
成功地做到这一点。下面是代码片段,它完全消除了在 bootstrap.yml
中维护相同内容的需要
@Configuration
public class VaultConfiguration {
@Bean
public VaultProperties vaultProperties() {
VaultProperties vaultProperties = new VaultProperties();
vaultProperties.setAuthentication(VaultProperties.AuthenticationMethod.APPROLE);
VaultProperties.AppRoleProperties appRoleProperties = new VaultProperties.AppRoleProperties();
appRoleProperties.setRoleId("****");
appRoleProperties.setSecretId("****");
vaultProperties.setAppRole(appRoleProperties);
vaultProperties.setHost("***");
vaultProperties.setPort(80);
vaultProperties.setScheme("http");
return vaultProperties;
}
}
注意:当您的配置应被视为 bootstrap-配置时,您需要在 src/main/resources/META-INF/spring.factories
下提及 class 名称
spring.factories
中的内容为
org.springframework.cloud.bootstrap.BootstrapConfiguration=com.arun.local.cloudconfig.VaultConfiguration
我在 bootstrap.yml
文件
spring:
cloud:
vault:
authentication: APPROLE
app-role:
role-id: *****
secret-id: ****
host: ****
port: 80
scheme: http
但我不想在我的 YML 文件中包含这些,而是我希望将它们配置为一个 bean
@configuration / @bean
请帮忙。谢谢
我能够通过配置 VaultProperties
类型的 Bean
成功地做到这一点。下面是代码片段,它完全消除了在 bootstrap.yml
@Configuration
public class VaultConfiguration {
@Bean
public VaultProperties vaultProperties() {
VaultProperties vaultProperties = new VaultProperties();
vaultProperties.setAuthentication(VaultProperties.AuthenticationMethod.APPROLE);
VaultProperties.AppRoleProperties appRoleProperties = new VaultProperties.AppRoleProperties();
appRoleProperties.setRoleId("****");
appRoleProperties.setSecretId("****");
vaultProperties.setAppRole(appRoleProperties);
vaultProperties.setHost("***");
vaultProperties.setPort(80);
vaultProperties.setScheme("http");
return vaultProperties;
}
}
注意:当您的配置应被视为 bootstrap-配置时,您需要在 src/main/resources/META-INF/spring.factories
spring.factories
中的内容为
org.springframework.cloud.bootstrap.BootstrapConfiguration=com.arun.local.cloudconfig.VaultConfiguration