106. 配置 PropertySourceLocator 行为
Spring Cloud Vault 使用 property-based configuration 为通用和已发现的 secret 后端创建PropertySource
s。
发现的后端提供VaultSecretBackendDescriptor
beans 来描述 configuration state 以将 secret 后端用作PropertySource
。需要SecretBackendMetadataFactory
来创建SecretBackendMetadata
object,其中包含 path,name 和 property transformation configuration。
SecretBackendMetadata
用于支持特定的PropertySource
。
您可以注册任意数量的 beans 实现VaultConfigurer
进行自定义。如果 Spring Cloud Vault 发现至少一个VaultConfigurer
bean,则禁用默认通用和已发现的后端注册。但是,您可以使用SecretBackendConfigurer.registerDefaultGenericSecretBackends()
和SecretBackendConfigurer.registerDefaultDiscoveredSecretBackends()
启用默认注册。
public class CustomizationBean implements VaultConfigurer {
@Override
public void addSecretBackends(SecretBackendConfigurer configurer) {
configurer.add("secret/my-application");
configurer.registerDefaultGenericSecretBackends(false);
configurer.registerDefaultDiscoveredSecretBackends(true);
}
}
所有自定义都需要在 bootstrap context 中进行。将 configuration classes 添加到_app中
org.springframework.cloud.bootstrap.BootstrapConfiguration
的META-INF/spring.factories
。