Я смог сделать это успешно, настроив Bean
типа VaultProperties
. Ниже приведен фрагмент кода, который полностью исключил необходимость его сохранения в 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;
}
}
Примечание. Если у вас есть конфигурация, которую следует рассматривать как конфигурацию начальной загрузки, вам нужно указать имя класса в src/main/resources/META-INF/spring.factories
Содержимое в spring.factories
равно
org.springframework.cloud.bootstrap.BootstrapConfiguration=com.arun.local.cloudconfig.VaultConfiguration