14

我已经创建了一些秘密,我正在尝试以这种方式导入文件:

apiVersion: v1
kind: Secret
metadata:
  name: {{ template "amq.broker.fullname" . }}-tls
  labels:
    app: {{ template "amq.name" . }}
    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
    component: "{{ .Values.broker.name }}"
    release: "{{ .Release.Name }}"
    heritage: "{{ .Release.Service }}"
type: Opaque
data:
{{ (.Files.Glob "secrets/broker.ks").AsSecrets | indent 2 }}

该文件位于secrets目录下。当我运行安装时,broker.ks秘密不存在。但是,秘密在secrets文件夹下。任何想法?

这里是目录结构

├── Chart.yaml
├── README.md
├── secrets
│   ├── broker.ks
│   ├── broker_cert
│   ├── client.ks
│   └── client.ts
├── templates
│   ├── NOTES.txt
│   ├── _helpers.tpl
└── values.yaml
4

1 回答 1

15

根据文档,对此的解决方案如下:

{{- $root := . -}}
{{- range $path, $bytes := .Files.Glob "secrets/broker.ks" }}
{{ base $path }}: '{{ $root.Files.Get $path | b64enc }}'
{{- end }}

您还可以使用以下命令提取文件夹中特定类型的所有文件.Files.Glob "secrets/*.ks"

还要确保该文件夹没有被添加到,.helmignore否则文件将无法访问。

于 2018-05-31T14:45:49.653 回答