我正在尝试使用 helm chart 将我的秘密部署为密封的秘密,我已经为密封的秘密创建了一个模板
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: {{ include "api.fullname" . }}
namespace: api
spec:
template:
metadata:
name: {{ include "api.fullname" . }}
encryptedData:
{{- range $key, $val := .Values.encryptedData }}
{{ $key }}: {{ $val }}
{{- end }}
在我的部署中,我将秘密值设置为环境变量
env:
{{- range $key, $val := .Values.encryptedData }}
- name: {{ $key }}
valueFrom:
secretKeyRef:
name: {{ include "sealedsecret.bitnami.com/api.fullname" $ }}
key: {{ $key }}
{{- end }}
问题是当我安装图表时,密封的秘密文件位于 sealedsecret.bitnami.com/api
如何在 secretKeyRef 的包含部分引用它
安装图表时出现的错误
Error: template: joe-api/templates/deployment.yaml:42:25: executing "api/templates/deployment.yaml" at <include "sealedsecret.bitnami.com/api.fullname" $>: error calling include: template: no template "sealedsecret.bitnami.com/api.fullname" associated with template "gotpl"
任何帮助将不胜感激
SealedSecret 在您的集群中创建与自己同名的 Secret,参见 https://github.com/bitnami-labs/sealed-secrets#overview
您的 SealedSecret 名称来自图表全名模板 -
{{ include "api.fullname" . }}
,但在部署中您包括未定义的模板,名为 sealedsecret.bitnami.com/api.fullname
(如果需要,您可以在 templates/_helpers.tpl
文件中检查可用模板)
所以下面的代码片段应该有效:
env:
{{- range $key, $val := .Values.encryptedData }}
- name: {{ $key }}
valueFrom:
secretKeyRef:
name: {{ include "api.fullname" $ }}
key: {{ $key }}
{{- end }}