98. 配置 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.BootstrapConfigurationMETA-INF/spring.factories