我试图从舵中的伞图中获取一些值_helpers.tpl,但由于某种原因我收到了错误executing "gluu.ldaplist" at <.Values.ldap.extraHo...>: can't evaluate field extraHosts in type interface {}
这就是我正在努力做的事情。 _helpers.ptl
{{- define "gluu.ldaplist" -}}
{{- $hosts := .Values.ldap.extraHosts -}}
{{- $genLdap := dict "host" (printf "%s-%s" .Release.Name .Values.ldapType) "port" .Values.ldapPort -}}
{{- $hosts := prepend $hosts $genLdap -}}
{{- $local := dict "first" true -}}
{{- range $k, $v := $hosts -}}
{{- if not $local.first -}},{{- end -}}{{- printf "%s:%.f" $v.host $v.port -}}{{- $_ := set $local "first" false -}}
{{- end -}}
{{- end -}}
这是values.yml伞图的 一部分values.yml
ldap:
enabled: true
type: opendj
extraHosts: [
host: opendj,
port: 3434
] #array of k,v e.g host: host1, port: port1
目录结构
helm/
charts/
chart_a/
templates/
configMap.yml ----->>> this is where I want to use it
templates/
_helpers.tpl ---->>>> where the failing function is
requirements.yml
values.yml ---------->>> where the ldap values are
看起来configMap.yml像下面这样
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "oxauth.fullname" . }}-cm
data:
GLUU_CONFIG_ADAPTER: {{ .Values.global.configAdapterName | quote }}
GLUU_LDAP_URL: {{ template "gluu.ldaplist" . }}
注意:_helpers.tpl位于主/伞图下方。chart_a是一个子图。
预期结果类似于GLUU_LDAP_URL:"opendj:3434"
头盔版本:
Client: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
预期结果是,即使数组中未提供任何值,函数{{- define "gluu.ldaplist" -}}也会顺利完成。_helpers.tpl如果提供了值,则预期的字符串将host:port作为输出。
如果可以以其他方式完成此操作,我欢迎任何建议。
繁花不似锦
相关分类