首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何合并舵图和vault agent tempate?

如何合并舵图和vault agent tempate?
EN

Stack Overflow用户
提问于 2021-02-01 10:40:16
回答 2查看 124关注 0票数 1

我有两个舵图模板。

代码语言:javascript
复制
{{- define "helpers.config.tpl" -}}
debug: "true"
db:
  app:
    dialect: "mysql"
    endpoint: {{`{{ with secret "` }}{{ default "common/data/mydata" $.Values.vaultSecretName  }}{{`" -}}{{ .Data.data.db }}{{- end }}`}}
{{- end -}}

{{- define "helpers.config" -}}
{{- $default := fromYaml ( include "helpers.config.tpl" . )   -}}
{{- $conf := .Values.configFile -}}
{{- toYaml (merge $conf $default ) }}
{{- end -}}

我也有类似下面的values.yaml

代码语言:javascript
复制
configFile:
  db: 
    app:
      conn: 300

我想添加或修改属性,只需通过values.yaml文件传值。但是我得到了像Error: 'error converting YAML to JSON: yaml: line 86: did not find expected key'一样的错误。我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-01 10:52:51

Vault Agent Template语法包括一个额外的模板层,它由helpers.config.tpl生成。如果您使用空.Values调用模板,您将退出

代码语言:javascript
复制
debug: "true"
db:
  app:
    dialect: "mysql"
    endpoint: {{ with secret "common/data/mydata" -}}{{ .Data.data.db }}{{- end }}

这不是有效的YAML : YAML { ... }应该是字典语法,而不是Go模板语法。您必须强制将此字符串解释为字符串。

可能最健壮的方法是使用YAML block scalar syntax,缩进您试图发出的东西,但不应用其他转义:

代码语言:javascript
复制
endpoint: |-
  {{`{{ with secret "` }}{{ default "common/data/mydata" $.Values.vaultSecretName  }}{{`" -}}{{ .Data.data.db }}{{- end }}`}}
票数 2
EN

Stack Overflow用户

发布于 2021-02-02 09:23:49

谢谢@DavidMaze我解决了这个问题。不过,这有点棘手。我的yaml文档格式如下。

代码语言:javascript
复制
endpoint: |-
  {{`{{ with secret "`}}{{ default "common/data/mydata" $.Values.vaultSecretName }}{{`" -}}
    {{ .Data.data.db }}
  {{- end }}`}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65986499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档