函数 "env" 未定义

function "env" not defined

我是 helm 和 go 模板的新手,所以请多多包涵

我有一个名为 secrets.yaml 的模板:

apiVersion: v1
kind: Secret
metadata:
  name: fooo-secrets
  labels:
    app: {{ template "fooo.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
type: Opaque # TODO
data:
  SUPER_SECRET: {{env SUPER_SECRET | quote }} <--- the problem line

我从 sprig 得到了 env。这个想法是我可以将我的秘密加载到我的本地环境中,然后从那里进行部署。

但是当我整理我的图表时:

> helm lint fooo                                                   [13:29]
==> Linting fooo
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: parse error in "drone_ci/templates/secrets.yaml": template: drone_ci/templates/secrets.yaml:12: function "env" not defined

我在这里做错了什么?

要将其传递给 helm chart,您应该使用值。

而不是 {{env SUPER_SECRET | quote }} 使用 {{ .Values.secret }} 然后当你 运行 掌舵 运行 例如 helm install chart --set secret=${SUPER_SECRET}