登录
首页 >  Golang >  Go问答

Vault Helm 模板用于注释

来源:stackoverflow

时间:2024-02-08 23:33:23 246浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《Vault Helm 模板用于注释》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

我正在尝试将一个模板嵌套到另一个模板中,即我有一个 k8s deployment.yaml ,它应该由 helm 模板化。但是,它已经在注释字段中使用 vault 模板,负责将机密注入到 pod 中。

没有 helm 模板,它看起来像这样:

vault.hashicorp.com/agent-inject-template-.env: |
  {{- with secret (print "envs/data/test") -}}{{- range $k, $v := .data.data -}}
  {{ $k }}={{ $v }}
  {{ end }}{{- end -}}

现在,我想为 helm 制作一个模板,并将路径 envs/data/test 替换为来自 helm 值的值。所以我尝试像这样使用它:

vault.hashicorp.com/agent-inject-template-.env: |
  {{- with secret (print {{ .Values.path }}) -}}{{- range $k, $v := .Data.data -}}
  {{ $k }}={{ $v }}
  {{ end }}{{- end -}}

但这不起作用,这意味着 {{ .values.path }} 按原样作为字符串输出。 如何在另一个模板上进行模板化并将 {{ .values.path }} 解析为变量?


正确答案


这意味着您将模板放在模板之上,并且 helm 和Vault 使用相同的语义,并且它将替换您的Vault 模板。

因此,您需要另一种方法,例如将Vault模板手动放入Vault的configmap中或使用vswh from banzai,它将帮助您通过改变应用程序自动注入Pod,并且您需要将您的秘密作为ENV作为vswh格式放入您的部署/模板中部署文件。

今天关于《Vault Helm 模板用于注释》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>