如何删除掌舵.toYaml添加的新行?

时间:2019-10-11 10:13:48

标签: yaml kubernetes-helm

我在舵图的values.yaml中添加了以下部分:

   extraEnv:
      - name: APPSERVER_RETURN_CLIENT_ERRORS
        value: true

并在Deployment.yaml中将这些值用作:

  env:
    - name: DYNA_GATEWAY_HOST
      value: "$(DYNAGATEWAY_SERVICE_HOST)"
  {{- with .Values.extraEnv }}
    {{- toYaml . | nindent 12 }}
  {{- end }} 

但是,当它读取时,它会在env部分之后添加新行:

  imagePullPolicy: Always
  env:
    - name: DYNA_GATEWAY_HOST
      value: "$(DYNAGATEWAY_SERVICE_HOST)"
    - name: APPSERVER_RETURN_CLIENT_ERRORS
      value: true

  ports:

我该如何解决?

1 个答案:

答案 0 :(得分:0)

Sprig trim函数将删除开头和结尾的空格。就管道而言,您需要在nindent前面放置换行符之前进行此操作。

{{- toYaml . | trim | nindent 12 }}

如果您知道toYaml将始终包含尾随换行符(无论何时.Values.extraEnv是非空列表或字典时,它将包含尾随的换行符),请尝试压制其周围的空白< / p>

{{- with .Values.extraEnv }}
  {{- toYaml . | nindent 12 }}
{{/*   vvv add this hyphen */}}
{{- end -}}

但这会干扰下一行的缩进。