【问题标题】:Spring Cloud Vault Configuration without YAML file没有 YAML 文件的 Spring Cloud Vault 配置
【发布时间】:2018-08-30 11:53:51
【问题描述】:

我在bootstrap.ymlfile 中提到了 Spring Cloud Vault 配置

spring:
  cloud:
    vault:
      authentication: APPROLE
      app-role:
        role-id: *****
        secret-id: ****
      host: ****
      port: 80
      scheme: http

但我不想在我的 YML 文件中包含这些,而是​​希望将它们配置为 bean

@configuration / @bean

请帮忙。谢谢

【问题讨论】:

    标签: spring spring-boot spring-cloud spring-cloud-vault-config


    【解决方案1】:

    通过配置Bean 类型为VaultProperties,我能够成功地做到这一点。下面是代码 sn-p 完全消除了在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
    

    【讨论】:

      猜你喜欢
      • 2017-06-23
      • 2023-02-15
      • 2016-02-05
      • 2020-09-15
      • 2020-05-07
      • 2022-11-06
      • 2021-04-18
      • 2018-01-12
      • 1970-01-01
      相关资源
      最近更新 更多