【问题标题】:Cloud Run, Secret Manager and Spring BootCloud Run、Secret Manager 和 Spring Boot
【发布时间】:2021-09-13 12:34:08
【问题描述】:

我想将整个 .properties 文件从 GCP Secret Manager 加载到我的 Spring Boot 应用程序中。

Secret 在 Cloud Run 中“挂载为卷”(整个 .properties 文件,在路径 /secrets/secret.properties 中),但我无法使用 spring.config.import 将其加载到 Spring Boot

我在尝试:

spring.config.import=optional:configtree:/secrets/
spring.config.import=optional:classpath:/secrets/secret.properties
spring.config.import=optional:/secrets/secret.properties

但没有任何效果。值在 Spring Boot 应用程序中不可见。 (java.lang.IllegalArgumentException: Could not resolve placeholder 'x' in value "${x}") 将文件放在资源类路径上时,一切正常。

【问题讨论】:

  • 一般在“不工作”的时候,会有某种报错。
  • 你能分享你的 Dockerfile,特别是你如何在文件末尾运行你的 Spring Boot 应用程序吗?
  • @guillaumeblaquiere 使用标准设置的 jib 工具:github.com/GoogleContainerTools/jib

标签: spring-boot google-cloud-run google-secret-manager


【解决方案1】:

这里是我测试过并且有效的设置(不要忘记授予正确的权限)

JIB 配置

...
           <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <container>
                        <args>--spring.config.location=file:///secret/my.properties</args>
                    </container>
                    <to>
                        <image>gcr.io/<PROJECT_ID>/springboot</image>
                        <credHelper>gcr</credHelper>
                    </to>
                </configuration>
            </plugin>
...

我的 Cloud Run 部署

gcloud beta run deploy --image=gcr.io/<PROJECT_ID>/springboot \
 --region=us-central1 --allow-unauthenticated --platform=managed \
 --set-secrets=/secret/my.properties=projects/<PROJECT_Number>/secrets/springboot:1 \
secret-springboot

【讨论】:

    猜你喜欢
    • 2020-12-02
    • 2021-10-20
    • 2021-12-03
    • 2018-11-26
    • 2019-12-04
    • 2020-08-29
    • 2019-10-05
    • 2020-08-23
    • 2020-08-16
    相关资源
    最近更新 更多