【问题标题】:Micronaut GCP secrets are not loaded未加载 Micronaut GCP 机密
【发布时间】:2021-03-24 10:06:46
【问题描述】:

我正在 GCP 云上运行一个 Mircaut 应用程序,其中 Cloud sql 数据库在私有 IP 上运行。

数据库密码存储在 GCP 云密码中,我需要在创建与数据库的连接之前加载密码

我已按照此处的指南进行操作:https://micronaut-projects.github.io/micronaut-gcp/3.4.0/guide/index.html#secretManager

但我从来没有为我预装过这个秘密。

这是我的 bootstrap.yml 的样子:

micronaut:
  application:
    name: test
  config-client:
    enabled: true
gcp:
  secret-manager:
    keys:
      - db-user-password

这是我的 application.yml 数据库配置:

micronaut:
  application:
    name: test
  config-client:
    enabled: true

datasources:
  default:
    url: jdbc:postgresql:///test?cloudSqlInstance=testcloudSqlInstance&socketFactory=com.google.cloud.sql.postgres.SocketFactory
    name: test
    username: user
    password: ${sm.db-user-password}
    dialect: POSTGRES
    maximumPoolSize: 15
    minimumIdle: 5

jpa:
  default:
    packages-to-scan:
      - "com.test"
    entity-scan:
      packages: 'com.test'
    properties:
      hibernate:
        hbm2ddl:
          auto: none
        show_sql: false

liquibase:
  datasources:
    default:
      enabled: true
      dropFirst: false
      defaultSchema: public
      change-log: 'liquibase-changelog.xml'

Micronaut 版本:2.3.2 Micronaut gcp 版本:3.4.0

【问题讨论】:

    标签: micronaut micronautgcp


    【解决方案1】:
    1. 启用日志记录

    <logger name="io.micronaut.context.env.PropertySourcePropertyResolver" level="TRACE"/>

    1. 检查谷歌凭据

    2. 检查应用程序的服务帐户对于每个密钥是否有一个角色“Secret Manager Secret Accessor”

    3. 看起来占位符应该是${sm.db.user.password} 而不是${sm.db-user-password}

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-25
      • 2019-10-11
      • 1970-01-01
      • 2018-07-09
      相关资源
      最近更新 更多