所以,我有一个看起来像这样的 yaml 文件:
service:
users:
- username: some-user
password: some-pass (would be placed in Secret)
- username: some-user
password: some-pass (would be placed in Secret)
我需要将它添加到 env 中(在 Spring Boot 的优先级列表中,来自 env 的配置高于来自 yaml 的配置。这将基于 env(dev,stage,live))。我已经用 Kustomize 试过了
configMapGenerator:
- name: my-java-server-props
files:
- config.yaml
然后在部署中使用它
envFrom:
- configMapRef:
name: my-java-server-props
config.yml 中的其他配置如下:
spring:
datasource:
url: some-url-here
然后为 configMapGenerator 添加 .properties 文件,如下所示:
spring_datasource_url=some-url-here
但是带有数组的配置似乎不起作用。
关于我在哪里错过了诀窍的任何提示?此外,密码来自 credstash;所以,我有一个不同的脚本,它从 credstash 获取值并为 Secret 创建一个清单。
添加密码的最终目标在 Deployment 中是这样的:
name: service_users.0.password
valueFrom:
secretKeyRef:
key: value
name: service-user-store-password