web-dev-qa-db-fra.com

Lire les secrets d'un fichier dans Helm

J'ai créé quelques secrets et j'essaie d'importer le fichier de cette façon:

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 }}

Le fichier se trouve sous le répertoire secrets. Lorsque j'exécute l'installation, le broker.ks le secret n'est pas là. Cependant, le secret se trouve dans le dossier secrets. Une idée?

Ici le dir struct

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

La solution à cela est, selon le docs , la suivante:

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

Vous pouvez également extraire tous les fichiers d'un type spécifique dans le dossier avec .Files.Glob "secrets/*.ks"

Assurez-vous également que le dossier n'a pas été ajouté à .helmignore sinon les fichiers ne seront pas accessibles.

8
iomv