web-dev-qa-db-ja.com

Helmのファイルからシークレットを読み取る

私はいくつかの秘密を作成しました、そして私はこの方法でファイルをインポートしようとしています:

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フォルダーの下にあります。何か案が?

ここにdir構造体

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

これの解決策は、 docs のとおり、次のとおりです。

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

.Files.Glob "secrets/*.ks"を使用して、フォルダ内の特定のタイプのすべてのファイルをプルすることもできます

また、フォルダが.helmignoreに追加されていないことを確認してください。追加されていないと、ファイルにアクセスできません。

8
iomv