Я пытаюсь использовать функцию {{ template }}
на моем рулевом столе, но внутри al oop значение вызывает ошибку.
Сначала вот мой _helpers.tpl
:
{{- define "traefik.deployNamespace" -}}
{{ default "kube-system" .Values.deployNamespace }}
{{- end -}}
Я могу использовать эту переменную с {{ template "treafik.deployNamespace }}
во всех шаблонах, ожидайте, когда внутри al oop:
# Iterates on allowed namespaces and creates the roles
{{- if .Values.allowedNamespaces }}
{{- range .Values.allowedNamespaces }}
# Rules for namespace: {{ . }}
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: {{ . }}-traefik-ingress-r
namespace: {{ . }}
rules:
- apiGroups:
- ""
resources:
- services
- endpoints
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- get
- list
- watch
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: {{ . }}-traefik-ingress-rb
namespace: {{ . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ . }}-traefik-ingress-r
subjects:
- kind: ServiceAccount
name: traefik-ingress-sa
namespace: {{ template "traefik.deployNamespace" . }}
{{- end }}
{{- end }}
Я, вероятно, делаю $ctx
неправильно, но я не знаю, что Я должен использовать там.
> % helm template .
Error: template: traefik/templates/_helpers.tpl:62:36: executing "traefik.deployNamespace" at <.Values.deployNamespace>: can't evaluate field Values in type strin