问题描述
我正在努力使用application.yml读取机密。
当我这样做时:
quarkus:
application:
name: pi-quarkus-fund-persistence-service
kubernetes-config:
enabled: true
fail-on-missing-config: false
config-maps: pi-quarkus-fund-persistence-service-configmap
secrets: pi-quarkus-fund-persistence-service-secrets
enabled: true
构建失败并显示:
Failed to build quarkus application: mapping values are not allowed here
in 'reader',line 16,column 20:
enabled: true
^
何时:
quarkus:
application:
name: pi-quarkus-fund-persistence-service
kubernetes-config:
enabled: true
secrets.enabled: true
fail-on-missing-config: false
config-maps: pi-quarkus-fund-persistence-service-configmap
secrets: pi-quarkus-fund-persistence-service-secrets
构建失败并显示:
Unrecognized configuration key "quarkus.kubernetes-config."secrets.enabled"" was provided; it will be ignored; verify that the dependency extension for this configuration is set or you did not make a typo
何时:
quarkus.kubernetes-config.secrets.enabled: true
quarkus:
application:
name: pi-quarkus-fund-persistence-service
kubernetes-config:
enabled: true
fail-on-missing-config: false
config-maps: pi-quarkus-fund-persistence-service-configmap
secrets: pi-quarkus-fund-persistence-service-secrets
构建成功,但服务在启动时失败:
从Secrets [pi-quarkus-fund-persistence-service-secrets]中读取配置,但 quarkus.kubernetes-config.secrets.enabled为false 。检查您的应用程序的服务帐户是否具有足够的权限来读取机密。
当我查看此提交时:https://github.com/quarkusio/quarkus/commit/93f00af9444deafe950afa1fad60f56fceb81ca3
第48行:// TODO:可能应该在此处使用转换器
可能是因为该属性不是从Yaml转换而来的吗?
解决方法
我认为这只是如何编写正确的YAML。应该是:
quarkus:
application:
name: pi-quarkus-fund-persistence-service
kubernetes-config:
enabled: true
fail-on-missing-config: false
config-maps: pi-quarkus-fund-persistence-service-configmap
secrets:
~: pi-quarkus-fund-persistence-service-secrets
enabled: true
回想起来,quarkus.kubernetes-config.secrets.enabled
不是此配置属性的最佳选择,对此感到抱歉:-(