Передать несколько переменных в шаблоне helm - PullRequest
0 голосов
/ 11 марта 2020

Есть ли способ передать несколько переменных в template или функцию, использующую include? В моем случае я перебираю список элементов, но в шаблоне мне также нужна переменная .Release.Name.

Можно ли добавить к $client .Release.Name? Я пробовал что-то вроде {{ $client.Name := .Release.Name }}, но выдает ошибку ..

У меня есть следующий шаблон:

{{- range $client := .Values.global.clients }}
{{- with $ }}
search.service-{{ $client.clientId }}.cfg: |
{{ include "rest-api.search" $client | indent 4}}
{{- end}}
{{- end}}

Функция rest-api.search:

{{- define "rest-api.search" -}}
client.id={{ .clientId }}
id={{ .clientId }}
uri=http://{{ .Release.Name }}:11666/{index}/ws/{configuration}
default.index=quicksearch
default.configuration=form
query.sort=
query.filter=
query.dsf=word
query.lower=0
query.max=10
query.locale=de
query.query=*
# Index mapping
index.COMMON=quicksearch
index.REF=quicksearch
supportObjectGroup=true
# authorization scheme
authScheme=NONE

{{- end -}}

Я ценю вашу помощь. Спасибо

1 Ответ

1 голос
/ 12 марта 2020

Вы можете передать клиентский объект вместе с объектом деблокирования в формате

values.yaml

global:
  clients:
    - name: test
      clientId: test-123

configmap.yaml

{{- range $client := .Values.global.clients }}
{{$data := dict "client" $client "release" $.Release }}
search.service-{{ .clientId }}.cfg: |
{{ include "mychart.search" $data | indent 4}}
{{- end}}

_helpers.tpl

{{- define "mychart.search" -}}
client.id={{ .client.clientId }}
id={{ .client.clientId }}
uri=http://{{ .release.Name }}:11666/{index}/ws/{configuration}
default.index=quicksearch
{{- end -}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...