在 Helm 中将字符串转换为 Yaml

问题描述

我有一个掌舵图,用于部署在 YAML 文件中具有配置文件的 spring 服务。目前,我的掌舵图使用以下代码:

templates/configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: account-service-config
data:
  variable.yml:
    {{ range $key,$value := .Values.spring.config.content | indent 4  }}
                            {{ $key | indent 2}}={{ $value }}
                                {{printf "\n" }}
                            {{- end -}}

我有一个 values.yaml 如下

spring:
  config:
    content: |-
      spring:
        application:
          name: hello
        security:
              abc:
                abc-def: ${url}

问题是,如果我想更改任何东西的值,例如应用程序名称,我必须像这样重写整个配置:

spring:
  config:
    content: |-
      spring:
        application:
          name: valuechange
        security:
              abc:
                abc-def: ${url}

所以我的问题是,有没有办法在 Helm 模板中将字符串转换为 Yaml。我希望将其转换为 helm yaml 并通过部署文件中的 configmaps 注入。

helm 模板对于许多服务都是通用的,因此我无法明确定义这些值,因为它们对于每个服务都不同,并且我正在通过相应 spring 服务存储库中名为 values.yaml 的另一个文件覆盖 values.yaml。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)