eq, ne, lt, gt, and, or, not
조건 오퍼레이션 제공{{ if eq .Values.image.name '1' }}
{{ ... }}
{{ else if eq .Values.image.name '2' }}
{{ else }}
{{ ... }}
{{ end }}
{{-
: 줄바꿈 포함한 왼쪽 공백 모두 제거-}}
: 줄바꿈 포함한 오른쪽 공백 모두 제거drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}
{{ if eq .Values.favorite.drink "coffee" }}
mug: true
{{ end }}
위 템플릿은 아래와 같이 공백을 포함해 렌더링됨.
drink: "coffee"
food: "PIZZA"
mug: true
공백을 제거하기 위해 -
추가
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}
{{- if eq .Values.favorite.drink "coffee" }}
mug: true
{{- end }}
아래 *
만큼 {{-
, -}}
이 공백(줄바꿈 포함) 제거하여
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}*
*
mug: true*
*
결과적으로 아래와 같이 공백 제거됨.
drink: {{ .Values.favorite.drink | default "tea" | quote }}
food: {{ .Values.favorite.food | upper | quote }}
mug: true
{{- range .Values.datas }}
- {{ . | title | quote }}
{{- end }}
.Values.datas
의 리스트 값을 반복해 참조 가능{{- range $index, $value := .Values.datas }}
- {{ . | title | quote }}
{{- end }}
or
{{- range $key, $value := .Values.datas }}
- {{ . | title | quote }}
{{- end }}
.Values.image.name
을 참조한다면, 아래와 같이, with
이용해 해당 범위안에서는 특정 범위로 스코프를 변경 가능{{ with .Values.image }} // .Values.image 로 스코프 지정
{{ .name }} // .Values.image 없이 .name 참조 가능
{{ end }}
{{ $temp := .Release.Name }}
{{ with .Values.image }}
{{ $temp }} 외부 스코프 값 참조
{{ end }}
_
로 시작하는 파일 또는 template 에서 특정 항목들을 정의할 수 있다.include
해 참조 가능{{ define "MY.NAME" }} // 외부에서 "MY.NAME" 으로 참조하므로, 고유한 prefix 를 붙일 것으로 권장
# body of template here
{{ end }}
define
으로 선언한 'mychart.labels' 을 추가template
은 pipeline으로 함수 호출 안되기 때문에 indent 에 유의(정의하는 쪽에서 indent 를 설정, 사용하는 측은 변경 어려움)template
보다는 include
권장template
두 번째 인자(.
) 는 "mychart.labels" 내부에서의 스코프 지정{{ template "mychart.labels" . }}
template
과 유사 하나 pipeline 이용해 다중으로 함수 호출 가능하여, 사용측에서 indent 설정 가능include
두 번째 인자(.
) 는 "mychart.labels" 내부에서의 스코프 지정{{ include "mychart.labels" . | nindent 4 }}
.Values.image
값을 yaml 형식으로 변경toJson
도 가능{{ toYaml .Values.image }}
{{ default 'temp' }}
{{ nindent 4 }}
{{ quote .Values.image.name }}
|
이용{{ .Values.image.name | upper | default 'temp' | nindent 4 }}
{{ .Values.image.name | repeat 3 }}